为Qemu aarch32开发板添加sd卡

时间:2023-03-09 16:04:59
为Qemu aarch32开发板添加sd卡

Qemu: 2.8.0

开发板: vexpress

1、制作sd卡镜像

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

2、分区

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

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

下面是分的两个区:

       Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1 Linux
/dev/loop0p2 Linux

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

3、扫描分区

sudo partprobe /dev/loop0

4、格式化

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

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

5、添加qemu启动参数

sudo qemu-system-arm \
-M vexpress-a9 \
-m 1024M \
-smp \
-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= -net tap,vlan=,ifname=tap0 \
-dtb ./linux-4.10/arch/arm/boot/dts/vexpress-v2p-ca9.dtb

6、启动

会看到下面两个设备:

 [root@vexpress ]# ls /dev/mmcblk0* -l
brw-rw---- , May : /dev/mmcblk0
brw-rw---- , May : /dev/mmcblk0p1
brw-rw---- , May : /dev/mmcblk0p2

7、挂载

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