【linux】rootfs根文件系统镜像制作

在嵌入式linux平台中,大部分工作则是填充根文件系统,在开发中,根文件系统一般都是以目录的方式放在开发宿主机上。

当根文件系统填充完成后,我们需要将其打包成xxx.img或者其他的镜像格式。本文以xxx.img镜像格式为例,描述如何将根文件系统打包成img的镜像文件。

本文打包的根文件系统目录结构和文件如下图所示:


(文件和目录有点乱,不影响)

这些目录和文件都存放在rootfs目录下。

我们在rootfs目录的同级目录下打开linux终端,输入如下命令:

dd if=/dev/zero of=rk3568.img bs=1M count=2000

如下图所示:

上图中:

  • dd :是linux命令,用于读取、转换并输出数据。
  • if :表示输入文件。
  • of :表示输出文件。
  • bs : 表示块大小。
  • count :表示被复制的块数。

上述命令的意思则是创建一个2000M(约2G)的文件,内容全部填充为0。

运行上述命令后,则会创建一个rk3568.img的文件,接下来就创建一个ext4的文件系统镜像。

在终端输入:

sudo mkfs.ext4 -F -L linuxroot rk3568.img

如下图所示:

  • sudo mkfs.ext4 :为linux命令,用于对磁盘设备进行Ext4格式化的操作。
  • -F :表示强制格式化。
  • -L :设置卷标。这里则是linuxroot
  • rk356.img : 则是设备。

然后在终端输入下列命令:

mkdir tmpfs

创建一个tmpfs文件。其中mkdir为linux命令,用于创建一个目录;tmpfs为名录名称(可自定义)。

接着使用下列命令:

sudo mount rk3568.img tempfs/

将rk3568.img文件系统挂载到tmpfs。

使用下列命令,将rootfs目录下的目录和文件拷贝到tmpfs目录:

sudo cp -rfp rootfs/* tmpfs/

完成后,使用下列命令卸载文件系统:

sudo umount tmpfs/

接下来使用:

sudo e2fsck -p -f rk3568.img

检查ext4文件系统的正确性。上述命令中:

  • -f:表示即使文件系统没有错误迹象,仍强制地检查正确性。
  • -p:表示不询问使用者意见,便自动修复文件系统。

然后使用:

sudo resize2fs -M rk3568.img

调整文件系统的大小,如下图所示:

通过上述步骤,就将根文件系统完全打包成img镜像文件了。

镜像文件打包完成后,可通过烧写工具将img镜像文件下载到存储介质中。例如,本文是打包的瑞芯微的rk3568处理器平台的根文件系统,则可以使用官方提供的下载工具下载即可:

猜你喜欢

转载自blog.csdn.net/iriczhao/article/details/127078414