在嵌入式系统的开发中,现在大多数的文件系统的打包方式都是使用mkfs.ext4命令来将文件系统目录打包成ext4格式的img镜像,如果有时想要在现成的文件系统中直接增加一些东西的话,我们可以直接操作打包好的镜像来增删文件,而不需要再次重新编译来再使用SDK重新走一遍完整的打包镜像的过程。
一般需求
我们直接使用qemu工具即可,在Ubuntu开发环境中使用以下命令安装qemu工具
sudo apt-get install qemu-user-static
首先可以先检查一下文件系统镜像是否是可以直接挂载的格式:
$ file ubuntu22.04_rootfs.img
ubuntu22.04_rootfs.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)
这种就是raw ext4 image,即经常说的raw image。其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大。