$TOP_PATH/tools/mkubifs/mkfs.ubifs -F -q -r $IMG_PATH/rootfs_soc -m 4096 -e 253952 -c 2047 -o $IMG_PATH/rootfs_soc.img
$TOP_PATH/tools/mkubifs/mkfs.ubifs -F -q -r $IMG_PATH/rootfs_opt -m 4096 -e 253952 -c 3840 -o $IMG_PATH/rootfs_opt.img
$TOP_PATH/tools/mkubifs/mkfs.ubifs -F -q -r $IMG_PATH/rootfs_without_soc_opt -m 4096 -e 253952 -c 2047 -o $IMG_PATH/rootfs_without_soc_opt.img
cd $IMG_PATH
$TOP_PATH/tools/mkubifs/ubinize -o $IMG_PATH/rootfs_with_soc_opt.img -m 4096 -p 256KiB ubinize.cfg
cd -
ROOTFS_PATH=$IMG_PATH/rootfs_with_soc_opt.img
mkfs.ubifs 参数分析
-m 最小 I/O 单元大小,一般是页大小, 4096 byte
-r -r:待制作的文件系统目录。
-e 是创建此镜像的 UBI 卷的逻辑可擦除块大小;,一般等于 (每块的页数 - 2)* 页大小 = (64byte - 2) * 4096 == 248Kbyte
-c 是最大可擦除逻辑块总数,这个是从 ubinize.cfg 里面的 vol_size / ubinize 里面的 -p 参数
= (960 * 1024) / 256 == 3840
-o 生成的 ubifs.img,输出的image名字
-F 自动调整大小。
-x:说的是压缩方法,默认是lzo,还支持zlib,zlib压缩率高些,但是lzo压缩解压速度快。
ubinize 参数
ubinize命令可将使用mkfs.ubifs命令制作的UBIFS文件系统镜像转换成可直接在FLASH上烧写的格式。
-o说的是输出image
-m 和上面一样 , 一般是 页大小 , 4096 byte
-p 一般是表示创建UBI镜像的闪存芯片的物理擦除块大小, 256KiB
rootfs.cfg是volume配置文件,可参考如下格式:
[ubifs]
mode=ubi
image=rootfs.imgbak
vol_id=0
vol_size=59776KiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize