Chinaunix首页 | 论坛 | 博客
  • 博客访问: 41537
  • 博文数量: 12
  • 博客积分: 480
  • 博客等级: 下士
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-27 21:29
文章分类

全部博文(12)

文章存档

2011年(3)

2010年(9)

我的朋友

分类: LINUX

2010-05-11 08:49:00

使用UBIFS文件系统
参考:
 
1.内核配置
  使用UBIFS,首先需要在内核中使能MTD_UBI和UBIFS:
  在MTD中使能UBI:
<*> Enable UBI 
 
  在FS中使能UBIFS:
<*> UBIFS file system support
工具支持
  使用UBI,需要UBI的一些工具,如ubiattach ubimkvol等,这些工具都包含在教新版的mtd-utils中,我下载了mtd-utils-1.2.0.tar.bz2,其中就包含了ubi的工具,只需进行交叉编译即可。但是,交叉编译mtd-utils,需要zlib和lzo的支持,我分别下载了zlib-1.2.3.tar.gz和lzo-2.03.tar.gz,分别进行交叉编译并安装到交叉工具链中。
 
2.交叉编译zlib-1.2.3.tar.gz
  解压后,进行配置编译即可,编译和安装命令:
CC=arm-none-linux-gnueabi-gcc ./configure --shared --prefix=/opt/arm-2007q3/arm-none-linux-gnueabi
make
make install
 
(注意--prefix=/opt/arm-2007q3/arm-none-linux-gnueabi这个路径,我开始编译到交叉编译器的--prefix=/opt/arm-2007q3/目录下时,交叉编译mtd-utils-1.2.0还是找不到libz.h.后来加了arm-none-linux-gnueabi才行。其实也就是说以后要在交叉编译器中加库时,也要注意这个路径)
3.交叉编译lzo-2.03.tar.gz
  解压后进行配置和编译即可。
CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-linux --prefix=/opt/arm-2007q3/arm-none-linux-gnueabi/
make
make install
 
4.交叉编译mtd-utils-1.2.0
  这需要修改Makefile文件。修改./Makefile,将其中的CROSS指定为:
  8 arm-none-linux-gnueabi-
  9 CC := $(CROSS)gcc
 
  修改./ubi-utils/Makefile文件,增加CROSS:
 11 CROSS=arm-none-linux-gnueabi-
 12 CC := $(CROSS)gcc

  修改./ubi-utils/new-utils/Makefile文件,增加CROSS:
 12 arm-none-linux-gnueabi-
 13 CC := $(CROSS)gcc

然后输入 make WITHOUT_XATTR=1 进行编译,编译完毕,可以得到flash_erase等工具。(编译会报一个错误,但是文件已经编译通过,不用理会那个错误)

再进入ubi-utils/目录,输入make,将会得到ubi的工具,将需要的工具复制添加到目标板的根文件系统中即可。我是放在rootfs/usr/bin目录下。
 
 
 
 
 
 
 
阅读(1050) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~