上周尝试了一下编译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
剩下的问题,下一次有空在搞。