一、rootfs.tar和ubi格式根文件系统镜像

Nand Flash使用ubi格式的根文件系统,在使用rootfs.tar文件烧录Flash时,需要使用ubi工具格式化分区、创建设备、挂载设备及解压文件到文件系统分区。
03-sd-update-nand\imx6ull_sd_update_nand.sh文件中烧录根文件系统脚本内容如下所示:

echo "Erasing file system partition ..."
flash_erase /dev/mtd3 0 0
ubiformat /dev/mtd3
ubiattach /dev/ubi_ctrl -m 3
ubimkvol /dev/ubi0 -Nrootfs -m
mkdir -p /mnt/mtd3
mount -t ubifs ubi0:rootfs /mnt/mtd3
echo "Unpacking file system to mtd3 partition, please wait ..."
tar xf ./filesystem/rootfs.tar -C /mnt/mtd3

如果烧录前预先将rootfs.tar制作成ubi格式的根文件系统镜像,则在烧录时便无需执行格式化和解压的操作,使用ubi格式根文件系统的烧录方法如下:

flash_erase /dev/mtd3 0 0
nandwrite -pk /dev/mtd3 ubifs_256m.img

二、ubi格式根文件系统镜像制作方法

  1. 工具下载
    链接: https://pan.baidu.com/s/11DuF20eSQ0ZcIkwPkhOzWA 提取码: vh3r
    将下载文件解压到ubuntu虚拟机中
    $ tar xzvf mkubifs_tool_cust.tgz -C ./
    $ ls
    mkfs.ubifs  mkubifs.sh  ubi_cfg_256M.ini  ubinize
  2. 在工具目录下创建rootfs目录,并将文件系统打包文件rootfs.tar解包到rootfs目录下
    $ mkdir rootfs
    $ sudo tar -xvf rootfs.tar -C mkubifs_tool_cust/rootfs
  3. 执行制作脚本,将rootfs目录中的内容打包成ubi格式的镜像文件
    $ sudo bash mkubifs.sh rootfs/
    制作脚本运行完后,即可在当前目录下获得ubifs镜像文件ubifs_256m.img
    mkubifs
文档更新时间: 2020-07-21 12:47   作者:admin