• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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