1、很多人在linux上面build的时候经常会遇到缺少liblzo.so之类的库文件,我记得的有在编译mplayer会出现这个错误,还有这次使用ubifs的时候也是。
直接使用sudo apt-get install liblzo2-dev安装库文件。
2、ubifs
2.1、什么是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

2.2、如何得到ubifs?
2.6.22以后,ubifs活跃于git管理工程中:
git://git.infradead.org/ubi-2.6.git
2.6.27以后,ubifs被整合进内核树中,用户只需下载最新内核即可获取ubifs支持。

2.3、如何使用ubifs?

软件环境:
linux-2.6.28
arm-linux-gcc 3.4.5
硬件环境:
s3c2410
k9f1208

2.4、准备
1、内核
配置的时候选上
1)Device Drivers  --->Memory Technology Device (MTD) support  --->UBI - Unsorted block images  --->Enable UBI
2)File systems  --->Miscellaneous filesystems  --->UBIFS file system support

2、mtd-utils工具(flash_eraseall、ubiattach、ubimkvol)准备
1)下载(mtd-utils、zlib、lzo)源码
wget http://debian.mirror.inra.fr/debian/pool/main/m/mtd-utils/mtd-utils_20080508.orig.tar.gz
wget http://www.zlib.net/zlib-1.2.3.tar.gz
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz

2)编译安装zlib
tar xzvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
CC=arm-linux-gcc ./configure --shared --prefix=/usr/local/arm/3.4.5/arm-linux
make
make install
cd ..

3)编译安装lzo
tar xzvf lzo-2.03.tar.gz
cd lzo-2.03
CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/local/arm/3.4.5/arm-linux
make
make install
cd ..

4)编译mtd-utils
tar xzvf mtd-utils_20080508.orig.tar.gz
cd mtd-utils-20080508

修改Makefile文件:
#CROSS=arm-linux-
修改为  CROSS=arm-linux-
BUILDDIR := $(CROSS:-=)
修改为  BUILDDIR := .

修改ubi-utils/Makefile文件:
添加    CROSS=arm-linux-

修改    ubi-utils/new-utils/Makefile文件:
添加    CROSS=arm-linux-

make WITHOUT_XATTR=1

ubi-utils子目录下生成我们需要的ubiattach、ubimkvol等文件(请确保是交叉编译所得)

3、mtd-utils工具(mkfs.ubifs、ubinize)准备
git-clone git://git.infradead.org/mtd-utils.git
cd mtd-utils/
make

mkfs.ubifs子目录下生成我们需要的mkfs.ubifs工具
ubi-utils/new-utils子目录下生成我们需要的ubinize工具

2.5、使用
1、使用ramfs或nfs启动系统,执行以下命令挂载ubifs:
1)flash_eraseall /dev/mtd4
2)ubiattach /dev/ubi_ctrl -m 4
3)ubimkvol /dev/ubi0 -N rootfs -s 50MiB
4)mount -t ubifs ubi0_0 /mnt或mount -t ubifs ubi0:rootfs /mnt

2、如果你想使用ubifs为rootfs,把文件系统内容解压到ubifs挂载目录下,并修改内核启动参数为:
console=ttySAC0 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs

3、如果你想直接在bootloader下烧写ubifs映像,使用以下命令制作ubi烧写映像:
mkfs.ubifs -r rootfs -m 512 -e 15872 -c 3303 -o ubifs.img
ubinize -o ubi.img -m 512 -p 16KiB -s 256 ubinize.cfg

其中:
1)以上命令的参数可从ubifs挂载信息中提取:
UBI: attaching mtd4 to ubi0                                                     
UBI: physical eraseblock size:   16384 bytes (16 KiB)                           
UBI: logical eraseblock size:    15872 bytes                                    
UBI: smallest flash I/O unit:    512                                            
UBI: sub-page size:              256                                            
UBI: VID header offset:          256 (aligned 256)                              
UBI: data offset:                512                                            
UBI: attached mtd4 to ubi0

2)配置文件ubinize.cfg的内容为:
[ubifs]
mode=ubi
image=ubifs.img
vol_id=0
vol_size=50MiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize

ubi以及ubifs相关推荐

  1. arm linux挂载ubi,挂载ubifs文件系统分区

    闲着没事玩玩ubifs 需要的资料可以到这个网站查询:http://www.linux-mtd.infradead.org/faq/ubifs.html 1.格式化:              ./u ...

  2. UBIFS - UBI File-System

    参考:http://www.linux-mtd.infradead.org/doc/ubifs.html#L_raw_vs_ftl UBIFS - UBI File-System Table of c ...

  3. UBI 文件系统移植 sys 设备信息【转】

    转自:http://blog.chinaunix.net/uid-25304914-id-3058647.html cat /sys/class/misc/ubi_ctrl/dev --------- ...

  4. Ubifs文件系统和mkfs.ubifs以及ubinize工具的用法

    Ubifs产生背景: 无排序区块图像文件系统(Unsorted Block Image File System, UBIFS)是用于固态硬盘存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件 ...

  5. linux内核创建ubi,UBI文件系统制作和挂载

    关于参数可以参考attach的命令输出: root@ubuntu:~# ubiattach  /dev/ubi_ctrl -m 4 -d 0 UBI device number 0, total 40 ...

  6. linux ubi 分区,Linux最新UBI文件系统介绍

    嵌入式linux中文站关注嵌入式linux文件系统的发展.在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs.jffs2.yaffs2等文件系统.它们也都是基于文 ...

  7. DM368开发 -- 制作ubifs文件系统

    一.Ubifs 文件系统的制作和启动 (重点)参看:UBIFS Support 参看:UBIFS - UBI File-System UBI 文件系统是 JFFS2 的下一代文件系统,更适合 NAND ...

  8. UBIFS文件系统使用

    转载地址:http://www.xuebuyuan.com/2159523.html 1, UBIFS简介 在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs.j ...

  9. linux在开始ubifs前错误,UBIFS文件系统说明文档答题.docx

    UBIFS文件系统说明文档 注意:在了解UBIFS之前一定要注意到UBIFS和任何传统的文件系统是不一样的:UBIFS不是运行在block device之上的(如hard disk,MMC/SD卡,U ...

最新文章

  1. 一。深入了解JDK1.8 从Package java.io开始
  2. java面试题一 静态变量
  3. 2013_chengdu_onsite
  4. 在esx server VI里导入其它虚拟机
  5. RuiJi Scraper基础 – RuiJi表达式模型
  6. python中迭代器_【Python】解析Python中的迭代器
  7. 字符串匹配代码C语言,KMP字符串匹配算法C语言实现
  8. 个人项目-数独(Python实现)——从解数独到写游戏
  9. 显卡内存和计算机内存,显卡爆显存和满显存有什么区别
  10. 玛格丽特·米德2019下半年EI会议与人格理论初探
  11. 收集的几个国外好用的免费PS素材网站,国内可访问而且免费
  12. git clone 项目时总是提示输入密码
  13. L2-3 清点代码库 (25 分)
  14. 【原创】IOS游戏辅助--天天酷跑助手的实现
  15. 一些WM消息与其相应WPARAM,LPARAM的定义
  16. 时间轴:确保ADAM电影如期进行
  17. c语言逐行扫描打印图案,用逐行扫描法读取4X4键盘矩阵,不能扫描出第一列按键?...
  18. 【调剂】中国矿业大学人工智能(知识工程)方向招收2020调剂生
  19. Win10的睡眠按钮为何消失?
  20. 求索十五载:百度地图绘就的时代浪漫

热门文章

  1. php扑克牌随机发,PHP实现随机发放扑克牌分享!
  2. Andorid高仿淘宝商品详情滑动渐变标题栏
  3. SAP低值易耗品做固定资产处理的折旧测试
  4. a算法TSP旅行商java_A*算法解决旅行商问题
  5. BZOJ 2085 Poi2010 Hamsters Hash+倍增Floyd
  6. FFmpeg学习之(一)阅读FFmpeg源码的工具选择
  7. ADAU1452 高音8000HZ EQ数据有Pop音的解决方法
  8. 快速提高编程技术的几个小窍门
  9. python廖雪峰教程学习:Day 1
  10. (C语言)十进制转换成R进制-洋葱先生-杨少通