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/
完