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即可正常工作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章