如何在qemu机器上使用持久性存储

时间:2018-06-29 16:01:21

标签: qemu

我已经使用this指南(使用了buildroot,而不是busybox)编译了一个Linux ARM映像和一个根FS。我能够使用rootFS成功运行映像。但是,如果我在/ root中创建文件,则退出机器并再次运行该文件后,该文件就会消失。我希望能够更改rootFS,例如,创建文件并安装软件包,并且我已经用尽了谷歌搜索如何为此目的添加--drive或--device。 另外,我希望能够使用存储来共享主机和来宾之间的文件。

这是我正在使用的当前qemu命令行:

qemu-system-arm -M vexpress-a9 -dtb 
<linux>/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -kernel 
<linux>/arch/arm/boot/zImage -append "console=ttyAMA0 root=/dev/sda" 
-initrd ~/buildroot-2018.05/output/images/rootfs.cpio --nographic 
<somedir>/hd0.img

其中的hd0.img是使用qemu-img创建的。

我希望能得到一个答案以及对正在发生的事情的更深入的解释。

谢谢!

1 个答案:

答案 0 :(得分:0)

对于vexpress-a9,唯一可用的磁盘类型是仿真SD卡。您可以使用“ -drive if = sd,cache = writeback,file = yoursd.img”设置一个。请注意,仿真SD的速度不是很快。另外,您还需要确保客户机内核中已编译了SD控制器和SD卡支持,并且initrd将挂载并旋转到它。

对于具有更灵活选项(支持更多RAM,更好的磁盘和网络等)的QEMU VM,您应该查看“ virt”板。仅当您专门有要在该开发板的仿真上运行的映像时,才真正建议使用“ vexpress-a9”。