1## 用FAT映像传递文件<a name="sectionfatfs"></a> 2--- 3 4利用riscv32 virt的第二个CFI flash设备,可以加载FAT格式的映像盘。因为FAT映像制作、挂载、存储文件均比较简单,可由此在宿主机和虚拟机间方便地传递文件。 5 61. 准备FAT映像 7``` 8 9dd if=/dev/zero of=fat.img bs=32M count=1 10sudo losetup /dev/loop0 fat.img 11sudo fdisk /dev/loop0 # 磁盘分区选择MBR格式, FAT16或FAT32 12sudo losetup -o 1048576 /dev/loop1 /dev/loop0 # 这里用第一个主分区示例 13sudo mkfs.fat /dev/loop1 14``` 15 162. 在虚拟机中挂载 17``` 18qemu-system-riscv32 ...(正常运行参数) \ 19 -drive if=pflash,file=fat.img,format=raw,index=1 20 21OHOS # mount /dev/cfiblk some_dir fat 22``` 23 24**注意**:device必须指定index=1参数,在riscv32 virt中,挂载目录必须是以下4个目录之一:/system、/inner、/update、/user 25 263. 在宿主机中挂载 27``` 28sudo losetup /dev/loop0 fat.img 29sudo losetup -o 1048576 /dev/loop1 /dev/loop0 30sudo mount /dev/loop1 some_dir 31``` 32 334. 缷载 34``` 35sudo umount some_dir 36 37sudo losetup -d /dev/loop1 # 宿主机时 38sudo losetup -d /dev/loop0 # 宿主机时 39``` 40 41 42