作者FFz (澎湖.仙人掌.234)
站内LinuxDev
标题[心得] Building a GNU/Linux ARM Toolchain (from scratch)
时间Mon Apr 23 15:44:12 2007
经过好久好久的奋战,终於装好了
只不过,当装好的同时,我突然想大叫一下
因为错的好机车0rz...
底下,会讲到为何之间会错,以及相关佐证数据
正文开始
我所参照的安装教学为
Building a GNU/Linux ARM Toolchain (from scratch)
http://www.schnozzle.org/~coldwell/toolchain/
经过昨天,一整晚没睡,到隔天,现下午三点
我才了解我错在哪,最後也把教学给完成了
我的错误,如果我猜的没错,应该是在设定 $TARGET 时设定错了
底下是,原作者的设定
function doSetup()
{
TARGET=arm-unknown-linux-gnu #重要
PREFIX=/usr/arm
SYSROOT=${PREFIX}/sysroot
export ARCH=arm
export CROSS_COMPILE=${TARGET}-
export PATH=$PATH:${PREFIX}/bin
mkdir -p ${PREFIX}/src
}
我猜测我会安装不过,大概错就错在我把 $TARGET 设成了 TARGET = arm-elf
而我会设成 arm-elf 是因为
那时教授给我的资料是以 binutils, gcc, newlib
这三个套件来安装toolchain
而资料中的 TARGET 就是设成 TARGET = arm-elf
所以,我才想在操作此教学{Building a GNU/Linux ARM Toolchain (from scratch)}时
我才会想说这麽设定 TARGET = arm-elf
因此,我就这麽的设定
可是,之後就出现了错误讯息
我以为是此阶段的安装步骤的错
就一直上网找,debug这个阶段的错
如果幸运debug过了,可是下个阶段可能也是会错
导致一直装不好
我会认为是错在这的佐证是
理由1.参考
http://www.ibm.com/developerworks/cn/linux/l-embcmpl/
的此图
http://www.ibm.com/developerworks/cn/linux/l-embcmpl/images/table1.gif
理由2.在安装过程时,我在configure glibc时遇过一个错误是
checking build system type... i686-pc-linux-gnu
checking host system type... arm-unknown-elf
running configure fragment for add-on linuxthreads
*** The GNU C library is currently not available for this platform.
*** So far nobody cared to port it and if there is no volunteer it
*** might never happen. So, if you have interest to see glibc on
*** this platform visit
***
http://www.gnu.org/software/libc/porting.html
*** and join the group of porters
make: *** No targets specified and no makefile found. Stop.
後来我 vi glibc/configure 发现会输出此讯息
是因为 glibc/configure 里头有一个逻辑式
是 case 所下的 host 是不是符合他的 pattern
(各位有兴趣,可以 vi glibc/configure 1905行)
由於上述两个理由,我断定 TARGET 不可设定成 arm-elf
但是,为什麽教授所给的安装组合 binutil, gcc, newlib
可以将 TARGET 设为 arm-elf 呢?
而且 zxvc大,还安装成功了
可看 229篇 4/15日 zxvc R: [问题] internal compiler error: Segmentatio
难道在 binutil, gcc, newlib 的组合下 arm-elf是也可以行的通的?
而在 binutils, gcc, glibc 的组合下 arm-elf是不可行的
最後最後,我安装好後
我的sshd也莫名其妙挂掉了
看来得要Debian重灌了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.181.9
1F:推 zxvc:看来似乎glibc-2.3.5还不支援arm-elf这种target。 04/23 23:59
2F:→ zxvc:不过也可能是该configure程式没有写好。 04/24 00:01
3F:→ zxvc:改天有空我再试试看target=arm-linux-elf这种组态行不行 04/24 00:01
4F:→ zxvc:因为这个组态应该是可以通过那个case。 04/24 00:03
5F:→ zxvc:因为我用arm-unknown-linux-gnu编出来的程式也是ELF格式的。 04/24 00:05
6F:→ zxvc:所以glibc应该是已经支援arm-*-elf这种组态,只不过可能 04/24 00:06
7F:→ zxvc:configure程式可能没有写好。 04/24 00:07
8F:推 zxvc:囧,我用target=arm-linux-elf真的会不能编。 04/27 10:26