[心得] Building a GNU/Linux ARM Toolchain (from scratch)

看板LinuxDev作者 (澎湖.仙人掌.234)時間18年前 (2007/04/23 15:44), 編輯推噓2(206)
留言8則, 1人參與, 最新討論串1/1
經過好久好久的奮戰,終於裝好了 只不過,當裝好的同時,我突然想大叫一下 因為錯的好機車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

04/23 23:59, , 1F
看來似乎glibc-2.3.5還不支援arm-elf這種target。
04/23 23:59, 1F

04/24 00:01, , 2F
不過也可能是該configure程式沒有寫好。
04/24 00:01, 2F

04/24 00:01, , 3F
改天有空我再試試看target=arm-linux-elf這種組態行不行
04/24 00:01, 3F

04/24 00:03, , 4F
因為這個組態應該是可以通過那個case。
04/24 00:03, 4F

04/24 00:05, , 5F
因為我用arm-unknown-linux-gnu編出來的程式也是ELF格式的。
04/24 00:05, 5F

04/24 00:06, , 6F
所以glibc應該是已經支援arm-*-elf這種組態,只不過可能
04/24 00:06, 6F

04/24 00:07, , 7F
configure程式可能沒有寫好。
04/24 00:07, 7F

04/27 10:26, , 8F
囧,我用target=arm-linux-elf真的會不能編。
04/27 10:26, 8F
文章代碼(AID): #16B6FDd8 (LinuxDev)
文章代碼(AID): #16B6FDd8 (LinuxDev)