-
NAND 硬件结构如下:
脚本如下
sudo mkfs.ubifs -q -r rootfs_iproute -m 4096 -e 248KiB -c 3840 -o ubifs.img -F
echo mkfs.ubifs over!
sudo ubinize -o ubi.img -m 4096 -p 256KiB ubinize.cfg
echo ubinize over!
sync
sudo cp ubi.img ~/image -rf
sync
sudo rm ubifs.img ubi.img -rf
sync
echo make file system ok !
配置文件 ubinize.cfg :
[ubifs]
mode=ubi
image=ubifs.img
vol_id=0
vol_size=960MiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize
-
mkfs.ubifs 参数分析
-m 最小 I/O 单元大小,一般是页大小, 4096 byte
-r 是指定哪个文件系统作为文件系统。
-e 是可擦除逻辑块大小,一般等于 (每块的页数 - 2)* 页大小 = (64byte - 2) * 4096 == 248Kbyte
-c 是最大可擦除逻辑块总数,这个是从 ubinize.cfg 里面的 vol_size / ubinize 里面的 -p 参数
= (960 * 1024) / 256 == 3840
-o 生成的 ubifs.img
-F 自动调整大小。 -
ubinize 参数
-m 和上面一样 , 一般是 页大小 , 4096 byte
-p 一般是块大小, 256KiB