上週嘗試了一下編譯u-boot,想編譯完u-boot後,再編譯linux內核,由於沒有開發板,所以測試在qemu 上做的。
開始時用eldk/arm-linux-gcc4.1編譯的,但每次編譯到最後鏈接時,報ld段錯誤,開始懷疑是我的系統問題,我的系統是ubuntu10.10 64bit版本的,用的arm-linux-gcc是for x86的,這樣用估計是有點問題的,所以重裝了系統,用了個32bit版本的(有點土)。然後準備再次編譯,這時在網上看到的帖子很多都是用4.2編譯的,所以也就乾脆下了個4.2版本的,再進行編譯。
一次編譯通過,運氣不錯。
然後再編譯qemu,時間有點長,但也一次編譯通過了。
用qemu-system-arm -M versatilepb -nographic -kernel u-boot啓動u-boot,結果提示
- U-Boot 2011.09-00351-gefb2172 (Oct 21 2011 - 23:25:00)
- DRAM: 128 MiB
- WARNING: Caches not enabled
- Using default environment
- In: serial
- Out: serial
- Err: serial
- Net: SMC91111-0
- Warning: failed to set MAC address
不知道爲什麼會提示MAC設置失敗的,但系統也總算進入了。
- VersatilePB # printenv
- baudrate=38400
- bootargs=root=/dev/nfs mem=128M ip=dhcp netdev=25,0,0xf1010000,0xf1010010,eth0
- bootdelay=2
- bootfile="/tftpboot/uImage"
- ethact=SMC91111-0
- stderr=serial
- stdin=serial
- stdout=serial
- verify=n
- Environment size: 221/8188 bytes
剩下的問題,下一次有空在搞。