reference: http://www.cnblogs.com/pengdonglin137/p/5023704.html
1 )u-boot build(version:2017.05):
u-boot>make vexpress_ca9x4_defconfig ARCH=arm
u-boot>make menufonfig ARCH=arm
u-boot>make ARCH=arm CROSS_COMPILE=/arm/arm-2014.05/bin/arm-linux-none-gnueabi-
2) tap bridge install
root#>yum install bridge-util
root#>brctl addbr br0
root#>tunctl -u $USER -t tap0
root#>ifconfig tap 0 0.0.0 promisc up
root#> ifconfig br0 192.168.11.20 up
root#> brctl addif br0 tap0
3) tftp install
troot#>yum install tftp tftp-server xinetd
> vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c // default is /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
4) make file system
- dd if=/dev/zero of=a9rootfs.ext3 bs=1M count=32 //创建一个32M的空文件
- mkfs.ext3 a9rootfs.ext3 //格式化为EXT3
- sudo mount -t ext3 a9rootfs.ext3 a9rootdir/ -o loop //挂载到a9rootdir目录
- cp path/to/your/rootfs/* a9rootdir/ -Rf //拷贝文件到该目录,相对于放到a9rootfs.ext3里面
- sudo umount a9rootdir/
5)start qemu
a)
qemu-system-arm -nographic -m 512M -M vexpress-a9 -kernel u-boot -sd /arm/tftboot/a9rootfs.ext3 -net nic,vlan=0,macaddr=52:54:00:12:34:22,addr=08 -net tap,ifname=tap0,script=no,downscript=no
b) qemu-system-arm -kernel zImage -serial stdio -M vexpress-a9 -append "root=/dev/mmcblk0 console=ttyAMA0 console=tty0" -sd a9rootfs.ext3
note :
if uboot>tftp uImage is blocked ,try
sudo /sbin/iptables -I INPUT -p udp --dport 69 -j ACCEPT
6) linux3.3.7 build
[root@mo-cn-491 linux-3.3.7]# make ARCH=arm vexpress_defconfig
[root@mo-cn-491 linux-3.3.7]#make ARCH=arm menuconfig
[root@mo-cn-491 linux-3.3.7]#make ARCH=arm CROSS_COMPILE=/arm/arm-2014.05/bin/arm-none-linux-gnueabi-