作者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
推 zxvc:看來似乎glibc-2.3.5還不支援arm-elf這種target。 04/23 23:59
→ zxvc:不過也可能是該configure程式沒有寫好。 04/24 00:01
→ zxvc:改天有空我再試試看target=arm-linux-elf這種組態行不行 04/24 00:01
→ zxvc:因為這個組態應該是可以通過那個case。 04/24 00:03
→ zxvc:因為我用arm-unknown-linux-gnu編出來的程式也是ELF格式的。 04/24 00:05
→ zxvc:所以glibc應該是已經支援arm-*-elf這種組態,只不過可能 04/24 00:06
→ zxvc:configure程式可能沒有寫好。 04/24 00:07
推 zxvc:囧,我用target=arm-linux-elf真的會不能編。 04/27 10:26