2.根文件系统镜像文件制作l mkfs.ubifs 参数解释
-x lzo 指定利用lzo压缩方法,默认是lzo, 还支持zlib, zlib的压缩率高,但是lzo压缩解压速率快。
-m 2048 Nand Flash的最小读写单元,一样平常为page size.

-r ./rootfs 指定根文件系统目录树的路径

-o rootfs.ubifs 指定制作出的根文件系统镜像文件名
-e 126976 指定LEB(Logical Erase Block, 逻辑擦除块)大小。Nandflash 读写单位为页,擦除单位为块,以ESMT F59L1G81MB 为例:一个PEB(Physical EraseBlockSize, 物理擦除块)大小便是204864=131072,-e 的算法是物理擦除块大小-2页大小,这里便是131072-22048=126976(注:这里的擦除块大小都不包含oob, 有包含子页和不包含子页之分。)
-c xxx 指定该分区最大逻辑擦除块数量,该值随着根文件系统分区的大小和该分区的坏块数调度。
l ubinize 参数解释
-o rootfs-ubifs.bin 指定ubinize处理后输出的image文件名,该文件可以由u-boot的nand write命令直接烧录;
-m 2048 指定minimum input/output unit 大小,为Nandflash的页大小;
-p 131072 指定物理擦除块大小:64 Pages 2048 Byte/Page = 131072(不包含oob的大小)
-s 512/2048 指定sub-page-szie大小,如果有sub-page, 则配置为512;如果没有sub-page,则配置为2048
n 关于配置文件解释:
image=rootfs-ubifs.img 指定mkfs.ubifs 制作成的根文件系统镜像文件路径;
vol_id=0 指定根文件系统树的卷标为0,u-boot的bootargs参数须要根据它来设置;
vol_size=xxx 指定该UBI逻辑卷的大小,该值打算公式一样平常为 逻辑擦除块大小逻辑擦除块个数。该值一样平常不用写,默认值是image大小。写了这个浸染是帮助检讨image是否超过了分区限定,制作时候就会提示,否则mount会出错。逻辑擦除块个数的值是经由打算的最大值(前面mkfs.ubifs -c 指定的值),不过volume flag autoresize 参数会自适应大小,不会摧残浪费蹂躏空间,后面Linux 系统内核启动过程中可以看到这个征象。
vol_type=dynamic
vol_name=xxx 指定UBI Volume的名称,u-boot的bootargs参数须要根据它来设置;
vol_flags=autoresize UBI Subsystem 在系统启动时自动调度逻辑擦除块的个数;
经由ubinize 命令处理过后的根文件系统镜像rootfs-ubifs.bin就可以直接在u-boot利用
nand write 命令烧录到相应的根文件系统分区上去了。
关于Minim Flash input/output, sub-pages, UBI Header的解释:http://www.linux-mtd.infradead.org/doc/ubi.html#L_min_io_unit








