Qemu: 2.8.0

开发板: vexpress

 

1、制作sd卡镜像



dd if=/dev/zero of=fs_vexpress_1G.img bs=1M count=1024


2、分区



1 sudo losetup /dev/loop0 fs_vexpress_1G.img
2 sudo fdisk /dev/loop0


注:可以使用 losetup -a 查看当前loop设备的占用情况

下面是分的两个区:



1       Device Boot      Start         End      Blocks   Id  System
2 /dev/loop0p1 2048 1050623 524288 83 Linux
3 /dev/loop0p2 1050624 2097151 523264 83 Linux


这里我们制作了1GB的存储器,分了两个区, 大小都是512M.

3、扫描分区



sudo partprobe /dev/loop0


4、格式化



1 sudo mkfs.vfat -I /dev/loop0p1
2 sudo mkfs.ext4 /dev/loop0p2


这里我们将第一个分区格式化为vfat格式, 第二个分区格式化为ext4格式

5、添加qemu启动参数



sudo qemu-system-arm \
-M vexpress-a9 \
-m 1024M \
-smp 4 \
-kernel ./linux-4.10/arch/arm/boot/zImage \
-nographic \
-append "root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel" \
-initrd ./rootfs/ramdisk.img \
-sd ./rootfs/fs_vexpress_1G.img \
-net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
-dtb ./linux-4.10/arch/arm/boot/dts/vexpress-v2p-ca9.dtb


6、启动

会看到下面两个设备:



1 [root@vexpress ]# ls /dev/mmcblk0* -l
2 brw-rw---- 1 0 0 179, 0 May 1 09:13 /dev/mmcblk0
3 brw-rw---- 1 0 0 179, 1 May 1 09:13 /dev/mmcblk0p1
4 brw-rw---- 1 0 0 179, 2 May 1 09:13 /dev/mmcblk0p2


7、挂载



1 mount -t vfat /dev/mmcblk0p1 /mnt/vfat_1/
2 mount -t ext4 /dev/mmcblk0p2 /mnt/ext4_1/