Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1176949
  • 博文数量: 93
  • 博客积分: 7185
  • 博客等级: 准将
  • 技术积分: 3560
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-02 13:54
文章分类
文章存档

2011年(43)

2010年(11)

2009年(27)

2008年(12)

分类:

2011-06-02 11:27:59

mtd-utils工具--下载编译篇

作者:longfeey

操作说明:
交叉编译工具路径:/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi使用过程根据自己的情况更改即可

1.mtd-utils及依赖工具下载

1)mtd-utils-1.4.4下载
wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.4.4.tar.bz2

2)lzo-2.03下载
wget

3)zlib下载
wget
如果访问不了,可以去 下载

4)e2fsprogs下载,解决uubi库缺少
wget

2.编译安装lzo:
flyan@flyan-Rev-1-0:~/mtd-utils/lzo-2.03$ CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi
flyan@flyan-Rev-1-0:~/mtd-utils/lzo-2.03$ make
flyan@flyan-Rev-1-0:~/mtd-utils/lzo-2.03$ make install
flyan@flyan-Rev-1-0:~/mtd-utils/lzo-2.03$ cd ..

3.编译安装zlib:
(a.) 配置 , 生成的文件安装到交叉工具链目录 
flyan@flyan-Rev-1-0:~/mtd-utils/zlib-1.2.5$ CC=arm-linux-gcc ./configure --shared --prefix=/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi
(b.) 编译
flyan@flyan-Rev-1-0:~/mtd-utils/zlib-1.2.5$ make
(c.) 安装
flyan@flyan-Rev-1-0:~/mtd-utils/zlib-1.2.5$ install
flyan@flyan-Rev-1-0:~/mtd-utils/zlib-1.2.5$ cd ..

4.编译e2fsprogs,解决uuid库缺少问题
(a.) 配置,生成的文件安装到交叉工具链目录 
flyan@flyan-Rev-1-0:~/mtd-utils/e2fsprogs-1.41.14$ ./configure --host=i686-linux --target=arm-linux CC=arm-linux-gcc  --prefix=/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueab
(b.) 编译
flyan@flyan-Rev-1-0:~/mtd-utils/e2fsprogs-1.41.14$ make
(c.) 安装 uuid 库(我们只使用到UUID库,所以只安装库即可)
flyan@flyan-Rev-1-0:~/mtd-utils/e2fsprogs-1.41.14$ make install-libs

5.编译mtd-utils

<1> 指定编译器 ,可以直接修改 common.mk, 也可以指定当前环境变量,这里指定当前环境变量,即可避免修改Makefile的麻烦
export CROSS=arm-linux-                      #指定交叉编译工具链
export WITHOUT_XATTR=1                       # 避免 sys/acl.h 找不到错误
export CFLAGS="-static -O2 -g -I /opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/include -L /opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib" #指定所需头文件和库文件路径,生成静态可执行文件,在android中即可直接使用

<2> 编译
flyan@flyan-Rev-1-0:~/mtd-utils/mtd-utils-1.4.4$ make
编译后会将生成的可执行文件存放在mtd-utils-1.4.4/arm-linux目录中

flyan@flyan-Rev-1-0:~/mtd-utils/mtd-utils-1.4.4$ file arm-linux/mtd_debug 
arm-linux/mtd_debug: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
可知:交叉编译成功。
将arm-linux目录下的可执行文件copy到开发板的文件系统中,启动后即可使用。
如果使用的是android文件系统,copy到/system/bin/目录下即可直接使用。
阅读(6016) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~