Build platform under Ubuntu(2)
1. 嘗試用arm-linux-gcc-3.4.1編譯linux-2.6.8內核
make剛開始就失敗,提示選項“short-load-bytes”不能識別。
上網查了一下,根據http://www.cygwin.com/ml/crossgcc/2004-05/msg00126.html提示,應該把short-load-bytes選項去除。搜索一下,這些file中和該選項有關:
--------------------------------------------------
root@shawn-laptop:/usr/src/2.6.8-rc3# grep -R short-load-bytes .
./arch/arm26/Makefile:CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/Makefile:CFLAGS +=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/SCCS/s.Makefile:CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/SCCS/s.Makefile:CFLAGS +=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm/Makefile:CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
--------------------------------------------------
試試僅僅把./arch/arm/Makefile:CFLAGS中的-mshort-load-bytes替換,結果出現另外一個錯誤。放棄這次嘗試。
2. 糾正osk newbie guider文檔中一個錯誤,重新用arm-gcc-3.4.1編譯的2.6.20 kernel:
(參考http://oskfordummies.hp.infoseek.co.jp/faq.html#i5)
--------------------------------------------------
header.S中
mov r7, #(MACH_TYPE_OMAP_OSK & 0xf)
應當是
mov r7, #(MACH_TYPE_OMAP_OSK & ~0xf)
--------------------------------------------------
,以期解決“解壓縮後kernel無反應”問題,無效!
3. 在2的基礎上,修改 include/asm-arm/mach-types.h中的
--------------------------------------------------
#define MACH_TYPE_OMAP_OSK 515
--------------------------------------------------
爲
--------------------------------------------------
#define MACH_TYPE_OMAP_OSK 212
--------------------------------------------------
,重新用arm-gcc-3.4.1編譯的2.6.20 kernel。
4. 找到錯誤原因了,結果很好笑:(
在啓動kernel時候需要設置參數如下:
--------------------------------------------------
setenv bootargs console=ttyS0,115200n8 noinitrd ip=138.198.177.250:138.198.177.39:138.198.179.254:255.255.252.0:osk:eth0:off root=/dev/nfs rw nfsroot=138.198.177.39:/data/rootfs2.6,nolock mem=32M
--------------------------------------------------
這裏的console是針對板子上的設備而言。我這裏因爲在PC端使用的是USB2UART線,minicom中設置的是ttyUSB0,這裏也設置成了ttyUSB0——板子上當然找不到這個設備,所以...找塊豆腐撞死算了!
現在,使用最初編譯的uImage.cc.20070429即可正常工作。
make剛開始就失敗,提示選項“short-load-bytes”不能識別。
上網查了一下,根據http://www.cygwin.com/ml/crossgcc/2004-05/msg00126.html提示,應該把short-load-bytes選項去除。搜索一下,這些file中和該選項有關:
--------------------------------------------------
root@shawn-laptop:/usr/src/2.6.8-rc3# grep -R short-load-bytes .
./arch/arm26/Makefile:CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/Makefile:CFLAGS +=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/SCCS/s.Makefile:CFLAGS_BOOT :=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm26/SCCS/s.Makefile:CFLAGS +=-mapcs-26 -mcpu=arm3 -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
./arch/arm/Makefile:CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Wa,-mno-fpu -Uarm
--------------------------------------------------
試試僅僅把./arch/arm/Makefile:CFLAGS中的-mshort-load-bytes替換,結果出現另外一個錯誤。放棄這次嘗試。
2. 糾正osk newbie guider文檔中一個錯誤,重新用arm-gcc-3.4.1編譯的2.6.20 kernel:
(參考http://oskfordummies.hp.infoseek.co.jp/faq.html#i5)
--------------------------------------------------
header.S中
mov r7, #(MACH_TYPE_OMAP_OSK & 0xf)
應當是
mov r7, #(MACH_TYPE_OMAP_OSK & ~0xf)
--------------------------------------------------
,以期解決“解壓縮後kernel無反應”問題,無效!
3. 在2的基礎上,修改 include/asm-arm/mach-types.h中的
--------------------------------------------------
#define MACH_TYPE_OMAP_OSK 515
--------------------------------------------------
爲
--------------------------------------------------
#define MACH_TYPE_OMAP_OSK 212
--------------------------------------------------
,重新用arm-gcc-3.4.1編譯的2.6.20 kernel。
4. 找到錯誤原因了,結果很好笑:(
在啓動kernel時候需要設置參數如下:
--------------------------------------------------
setenv bootargs console=ttyS0,115200n8 noinitrd ip=138.198.177.250:138.198.177.39:138.198.179.254:255.255.252.0:osk:eth0:off root=/dev/nfs rw nfsroot=138.198.177.39:/data/rootfs2.6,nolock mem=32M
--------------------------------------------------
這裏的console是針對板子上的設備而言。我這裏因爲在PC端使用的是USB2UART線,minicom中設置的是ttyUSB0,這裏也設置成了ttyUSB0——板子上當然找不到這個設備,所以...找塊豆腐撞死算了!
現在,使用最初編譯的uImage.cc.20070429即可正常工作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.