rootfs根文件系统镜像制作
在嵌入式linux平台中,大部分工作则是填充根文件系统,在开发中,根文件系统一般都是以目录的方式放在开发宿主机上。
当根文件系统填充完成后,我们需要将其打包成xxx.img或者其他的镜像格式。本文以xxx.img镜像格式为例,描述如何将根文件系统打包成img的镜像文件。
本文打包的根文件系统目录结构和文件如下图所示:
(文件和目录有点乱,不影响)
这些目录和文件都存放在rootfs目录下。
我们在rootfs目录的同级目录下打开linux终端,输入如下命令:
dd if=/dev/zero of=rk3568.img bs=1M count=2000
1
如下图所示:
上图中:
dd :是linux命令,用于读取、转换并输出数据。
if :表示输入文件。
of :表示输出文件。
bs : 表示块大小。
count :表示被复制的块数。
上述命令的意思则是创建一个2000M(约2G)的文件,内容全部填充为0。
运行上述命令后,则会创建一个rk3568.img的文件,接下来就创建一个ext4的文件系统镜像。
在终端输入:
sudo mkfs.ext4 -F -L linuxroot rk3568.img
1
如下图所示:
sudo mkfs.ext4 :为linux命令,用于对磁盘设备进行Ext4格式化的操作。
-F :表示强制格式化。
-L :设置卷标。这里则是linuxroot
rk356.img : 则是设备。
然后在终端输入下列命令:
mkdir tmpfs
1
创建一个tmpfs文件。其中mkdir为linux命令,用于创建一个目录;tmpfs为名录名称(可自定义)。
接着使用下列命令:
sudo mount rk3568.img tempfs/
1
将rk3568.img文件系统挂载到tmpfs。
使用下列命令,将rootfs目录下的目录和文件拷贝到tmpfs目录:
sudo cp -rfp rootfs/* tmpfs/
1
完成后,使用下列命令卸载文件系统:
sudo umount tmpfs/
1
接下来使用:
sudo e2fsck -p -f rk3568.img
1
检查ext4文件系统的正确性。上述命令中:
-f:表示即使文件系统没有错误迹象,仍强制地检查正确性。
-p:表示不询问使用者意见,便自动修复文件系统。
然后使用:
sudo resize2fs -M rk3568.img
1
调整文件系统的大小,如下图所示:
通过上述步骤,就将根文件系统完全打包成img镜像文件了。
————————————————
版权声明:本文为CSDN博主「iriczhao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iriczhao/article/details/127078414