先安装qemu:
apt-get install qemu-system
交叉编译器可以选择友善之臂:http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.gz
下载下来后解压缩,并将bin文件夹路径添加到.bashrc中或者/etc/profile中。
嵌入式系统下通常需要有bootloader来引导linux内核,常见的bootloader有:Redboot,uboot,Barebox
维基百科有一篇对bootloader进行比较的文章,地址:http://en.wikipedia.org/wiki/Comparison_of_boot_loaders
uboot是当前最流行的bootloader,支持硬件最丰富,功能最强大。
Barebox原名uboot-v2,是在uboot源代码基础上改造成类似于linux内核源代码的形式,对习惯linux内核源码的人来说可能会感觉用起来得心应手。
本文中选择versatilepb来进行仿真,该开发板用户手册地址:http://infocenter.arm.com/help/topic/com.arm.doc.dui0224i/index.html
先用qemu仿真来执行uboot:
下载uboot:ftp://ftp.denx.de/pub/u-boot/u-boot-2010.06.tar.bz2
然后执行下面命令进行配置和编译:
make versatilepb_config make
再用qemu来进行仿真:
qemu-system-arm -M versatilepb -nographic -kernel u-boot.bin
接下来用qemu方针来执行barebox,下载地址:http://barebox.org/download/barebox-2014.04.0.tar.bz2
下载下来后进行解压缩,进入到解压后的文件夹。
执行配置和编译:
make ARCH=arm versatilepb_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-
再用qemu来进行方针:
qemu-system-arm -M versatilepb -nographic -kernel barebox.bin
类似地,linux内核也可以用qemu仿真,执行方式和barebox类似,但是因为编译需要的时间比较长,我就不再详细说明了。