mtd-utils制作
文章摘要: 本文主要描述了MTD(Memory Technology Device)工具的交叉编译制作。
开发环境: RHEL5
源码版本: mtd-utils-1.5.0 | zlib-1.2.6 | lzo-2.06 | e2fsprogs-1.42
1.交叉编译 zlib
$./configure --prefix=/home/user/mtd/install
修改Makfile
由于zlib不支持指定--host选项,必须手工修改。
CC=arm-linux-gcc
LDSHARED=arm-linux-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=arm-linux-g++
AR=arm-linux-ar
RANLIB=arm-linux-ranlib
编译安装
$make
$make install
2.交叉编译 LZO
$./configure --host=arm-linux --prefix=/home/user/mtd/install
$make
$make install
3.交叉编译 e2fsprogs
$./configure --host=arm-linux CC=arm-linux-gcc --prefix= /home/user/mtd/install
$cd lib/uuid/
$make
$make install
注意事项:
我们需要的其实是uuid而不是整个e2fsprogs,整个还是蛮大的要编译蛮久,而且编译不一定能通过.
4.编译MTD
修改Makefile 添加以下代码:
CROSS=arm-linux-
PREFIX = /home/user/mtd/install
ZLIBCPPFLAGS = -I$(PREFIX)/include
LZOCPPFLAGS = -I$(PREFIX)/include
ZLIBLDFLAGS = -L$(PREFIX)/lib
LZOLDFLAGS = -L$(PREFIX)/lib
LDFLAGS += $(ZLIBLDFLAGS) $(LZOLDFLAGS)
CFLAGS ?= -O2 -g $(ZLIBCPPFLAGS) $(LZOCPPFLAGS)
编译安装
$make WITHOUT_XATTR=1
$make install
至此所需工具已经安装至/home/user/mtd/install/sbin目录下,可根据需要拷贝至开发板使用了。