前言
前面大体上搭建了 RT-Thread BSP qemu-virt64-aarch64 的交叉编译环境,运行后发现,文件系统没有挂载上,感觉是没有 mkfs。
通过RT-Thread 官方的文档,找到了解决方法
创建独立的 qemu-virt64-aarch64 工程
不是特别喜欢直接使用 git clone 下来的 RT-Thread 源码工程作为开发验证工程,主要是包含了太多不使用的BSP,代码过多,体积过大。
于是重新整理一个精简的 qemu-virt64-aarch64 工程
(1) rt-threadbspqemu-virt64-aarch64 -> 复制 qemu-virt64-aarch64
(2)rt-thread 把 .git 目录 bsp 等项目无关的目录去除,复制到 rt-thread目录
由于路径更改了,所以 进入 qemu-virt64-aarch64 scons 编译或报错,简单修复一下 构建路径即可
交叉编译环境
运行
shell 执行 ./qemu.sh 后,发现 ls 提示
msh />ls
No such directory
初步判断是没有开启 文件系统,不过通过 scons --menuconfig 查看,文件系统相关的组件已经开启了
解决文件系统无法挂载问题
通过查看 qemu.sh 脚本发现, sd.bin 应该没有任何的内容,所以需要格式化
通过 RT-Thread 官方的文档,发现确实需要这么做,并且 mkfs 后,还需要退出 qemu 再次进入就可以正常的识别文件系统了
操作方法:list device 找到 sd 卡相关的设备
msh />list device
device type ref count
vport0p1 Character Device 0
vport0p0 Character Device 0
virtio-console0 Character Device 0
virtio-blk0 Block Device 0
rtc RTC 0
gpio Pin Device 0
zero Miscellaneous Device 0
urandom Miscellaneous Device 0
random Miscellaneous Device 0
null Miscellaneous Device 0
uart0 Character Device 2
这里是 virtio-blk0 设备,执行 mkfs virtio-blk0
退出 qemu,CTRL + a 组合键按下后,松开,再按一下 x 键
再次进入 qemu,发现正常识别文件系统了
小结
qemu 文件系统识别了,接下来继续研究一下其他的功能
可以使用 qemu 评估一些平台无关的软件组件,这样可以提高效率。
-
SD卡
+关注
关注
2文章
560浏览量
63838 -
RT-Thread
+关注
关注
31文章
1277浏览量
39972 -
qemu
+关注
关注
0文章
57浏览量
5339
发布评论请先 登录
相关推荐
评论