【转】UBIFS 文件系统的使用

来源:互联网 发布:通达信手机指标源码 编辑:程序博客网 时间:2024/06/05 16:56

原文地址: http://www.study-bbs.com/thread-30290-1-1.html

一、 UBIFS 简介
      由IBM、nokia工程师Thomas Gleixner,Artem Bityutskiy等人于2006年发起,致力于开发性能卓越、扩展性高的FLASH专用文件系统,以解决当前嵌入式环境下以FLASH作为MTD设备使用时的技术瓶颈。

UBI:一种类似于LVM的逻辑卷管理层。主要实现损益均衡,逻辑擦除块、卷管理,坏块管理等。
UBIFS:基于UBI的FLASH日志文件系统。

有关ubifs的详细介绍,请参考:
http://www.linux-mtd.infradead.org/doc/ubi.html
http://www.linux-mtd.infradead.org/doc/ubifs.html

二、使用UBIFS前的准备
     1. 配置linux内核
           配置的时候选上
 
          这样我们的内核就支持UBIFS文件系统了
     2. UBIFS工具
          mtd-utils工具中提供了对UBIFS的支持,所以我们需要下载和编译这些工具,下载以下几个文件
          1)下载(mtd-utils、zlib、lzo)源码
 
           2)编译安装zlib
 
            3)编译安装lzo
 
            4)编译mtd-utils
 

            mkfs.ubifs子目录下生成我们需要的mkfs.ubifs工具,通过这个工具我们能打包一个文件夹,生成UBIFS系统镜像

三、如何使用UBIFS

            1) 制作根文件系统,比如我们的根文件目录为rootfs
            2) 生成ubi烧写映像

            3) 通过UBOOT制作UBI分区
                目前最新的UBOOT已经支持UBI分区,进入UBOOT命令行

     我的分区表配置如下:

       现在UBI分区已经创建完毕,我们可以通过tftp等手段把ubifs.img下载到RAM中, 0x30008000 为下载的地址,  0x2f8000 为 长度,文件系统烧写完成,修改uboot中的内核启动参数为:

      内核的下载没有什么变化,不在叙述,OK,工作到此结束,目前ubi文件已经移植到P1310上,工作正常。由于采用了压缩方式,UBI文件系统占用的空间比yaffs要小,而且避免了nand flash中OOB数据的操作,使得移植变得简单,值得推荐.