定义:无排序区块图像文件系统(Unsorted Block Image File System, UBIFS),主要适用于nand flash设备。
三个子系统:
-
UBIFS文件系统
可以理解为用户层,工作于UBI之上。
比如我们设备中挂载可见的分区。/dev/ubi3_0 22616 3068 19548 14% /data -
UBI
是MTD设备的高层次表示,一般用户层也可以在这里做开发定制,比如升级,通过ioctl控制MTD设备的读写。 -
MTD子系统
提供nand flash底层访问接口。
下面是这三个子系统的关系图,画图太费时,借用一下牛画好滴~~

好了,接下来就可以讲UBIFS文件系统的制作和镜像的制作,以及分区的挂载了,顺序就是先制作*.ubifs,然后制作*.img,最后mount分区。
一、UBIFS文件系统制作
我们先手动通过命令来制作UBIFS
# mkdir test
# ./mkfs.ubifs -r test -m 4096 -e 253952 -c 400 -o my.ubifs
这两条命令后,就会产生my.ubifs了,mkfs.ubifs工具mtd-utils中会提供,这个大家就想办法自己去弄吧。
参数说明如下:
Options:
-r, -d, --root=DIR build file system from directory DIR//指定根文件系统目录树的路径
-m, --min-io-size=SIZE minimum I/O unit size //Nand Flash的最小读写单元,一般为page size。
-e, --leb-size=SIZE logical erase block size//逻辑擦除块的大小
-c, --max-leb-cnt=COUNT maximum logical erase block count//逻辑擦除块的个数,与分区大小有关
-o, --output=FILE output to FILE//输出的根文件

本文详细介绍了无排序区块图像文件系统(UBIFS)及其在NAND闪存设备中的应用,包括UBIFS文件系统制作、UBI镜像制作、分区挂载,以及用户层对UBIFS分区的读写操作。重点讲解了参数设置和实战步骤。

1万+

被折叠的 条评论
为什么被折叠?



