xv6-k210/doc/用户使用-文件系统.md

1.5 KiB
Raw Permalink Blame History

如何在qemu上挂载文件镜像

首先需要一个FAT32文件镜像在Linux下可以通过dd命令和mkfs命令生成一个镜像将生成的fs.img文件放在xv6-k210目录下即可。

$ dd if=/dev/zero of=fs.img bs=512k count=2048
$ mkfs.vfat -F 32 fs.img

注意:dd命令中的bscount的参数只是参考这会生成1GB的镜像。

如何在镜像中存入用户程序

首先通过mount命令,将镜像挂载到你指定的目录(这里以/mnt为例然后将build之后xv6-user目录下文件名以"_"为前缀的用户程序拷贝至镜像中,再取消挂载以保存写入结果即可。也可以在镜像中建立一些文本文件进行读测试。

注意必须将xv6-user目录下的"_init"拷贝至镜像根目录中,并且重命名为"init"这是xv6原本的设定目前我们暂未更改还需拷贝"_sh"至镜像中才能启动shell。编写的用户程序也需要放在xv6-user目录下同时需要添加至Makefile的UPROGS目标中,才能连同内核一起编译链接。

$ make build
$ (sudo)mount fs.img /mnt
$ (sudo)cp xv6-user/_init /mnt/init
$ (sudo)cp xv6-user/_sh /mnt
$ (sudo)cp xv6-user/... /mnt
$ ...
$ (sudo)umount /mnt

PS:现已可以通过执行 make fs 自动完成上述操作。

如何在 SD 卡中存入用户程序

将上述操作生成的 fs.img 写入 SD 卡即可。可以执行操作:

make sdcard sd="your SD card device"

警告:这会覆盖 SD 卡的原有数据与文件系统!