您遇到的问题是,QEMU 在尝试挂载 rootfs.ext3
文件时,警告说它无法确定该文件的格式,因此默认为“raw”。对于“raw”格式的图像,QEMU 在块0上的写操作会受到限制,以防止对未格式化的磁盘进行意外的写操作。
这个警告信息表明您可能没有正确地创建一个 ext3 文件系统,或者 QEMU 在尝试挂载时没有正确地识别它。
根据您给出的命令,您似乎正确地创建了一个 ext3 文件系统,但您尝试挂载的文件名与创建的文件名不匹配。您在创建文件系统时使用了 a9rootfs.ext3
,但在 QEMU 命令中使用了 rootfs.ext3
。
首先,确保您挂载的是正确的文件。如果 a9rootfs.ext3
是正确的文件名,那么您应该更新 QEMU 命令来使用它:
qemu-system-arm ... -sd a9rootfs.ext3
如果问题仍然存在,那么可能是 QEMU 的版本或配置问题。您可以尝试以下方法来解决这个问题:
- 明确指定文件格式:在 QEMU 命令中,您可以尝试明确指定文件格式为 ext3。但是,请注意,对于
-sd
选项(表示 SD 卡),QEMU 不支持直接指定文件格式。您可能需要使用 -hda
或 -hdb
选项(表示 IDE 硬盘)来挂载文件,并明确指定其格式:
qemu-system-arm ... -hdb a9rootfs.ext3,format=raw,file.format=ext3
- 更新 QEMU:确保您使用的是最新版本的 QEMU,因为旧版本可能不支持某些功能或存在已知的错误。
- 检查文件:使用
file
命令检查您的 ext3 文件是否正确创建:
file a9rootfs.ext3
如果文件确实是 ext3 格式,它应该返回类似 a9rootfs.ext3: Linux rev 1.0 ext3 filesystem data, UUID=...
的输出。
如果您尝试了上述所有建议仍然遇到问题,那么可能需要更深入地研究 QEMU 的配置和文档,或考虑在 QEMU 社区或相关的论坛中寻求帮助。