UBI文件系统的简介:我们传统对Flash上的日志和坏块管理都是通过MTD+Flash专用文件系统来进行管理(如JFFS2、YAFFS2),但这两种文件系统也存在着一些技术瓶颈:磨损均衡,读写速度等问题。所以在这样的背景下,我们通常用ubi文件系统来对Flash进行管理就比较方便。UBI文件是建立在UBI一层上的,通过UBI的特有头部数据实现逻辑擦除块到物理擦除块的映射,卷管理,磨损均衡等问题,它是建立在MTD子系统之上。
在制作UBI文件系统时主要会遇到三个方面的问题:制作UBI工具的生成,内核支持,u-boot参数的传递。
Device Drivers --->
<*> Memory Technology Device (MTD) support --->
<*> Enable UBI - Unsorted block images --->
--- Enable UBI - Unsorted block images
(4096) UBI wear-leveling threshold (NEW)
(1) Percentage of reserved eraseblocks for bad eraseblocks handling (NEW)
< > MTD devices emulation driver (gluebi) (NEW)
[ ] UBI debugging (NEW)
File systems --->
[*] Miscellaneous filesystems --->
<*> UBIFS file system support
[*] Extended attributes support
[*] Advanced compression options
[*] LZO compression support (NEW)
[*] ZLIB compression support (NEW)
[ ] Enable debugging support (NEW)
另外还要取消以下选项:
取消光标所在处和Samsung s3c NAND Hardware ECC校验,不然我们在挂载文件系统时会出现错误。
详情请参考:http://www.linux-mtd.infradead.org/faq/ubi.html#L_subpage_verify_fail
3. 修改U-boot的参数
然后下载内核启动:
这是我的内核分区及UBI挂载时相应的信息