移植mtd-utils工具包

第一步:下载所需源码。链接具体如下:

mtd-utils-1.0.0.tar.gz下载链接: ftp://ftp.infradead.org/pub/mtd-utils/ http://debian.mirror.inra.fr/debian/pool/main/m/mtd-utils/
lzo-2.10.tar.gz下载链接: http://www.oberhumer.com/opensource/lzo/download/
zlib-1.2.11.tar.gz下载链接: http://www.zlib.net/fossils/

注释:由于交叉编译mtd-utils,需要依赖(zlib,lzo)。

第二步:这里需要说明,在移植之前,需要有交叉编译器才可以进行,后续需要用到交叉编译器,必须安装才可以进行,

具体安装可参照“在ubuntu中安装arm-none-linux-gnueabi-gcc交叉编译工具--笔记”中的安装方法。
也可以自行安装。但是需要记住安装的路径。

第三步:将下载的三个压缩包,统一放到了ubuntu的目录下:/home/mtd_utils_make(这里我是放到了个人的目录下,放哪都可以,记住路径就可以)。

第四步:解压三个压缩包:tar -xzvf mtd-utils-1.0.0.tar.gz tar -xzvf lzo-2.10.tar.gz tar -xzvf zlib-1.2.11.tar.gz

第五步:我们需要新建一个目录放生成的头文件,使用命令:mkdir /homemtd_utils_make/lib

注释:该目录可以根据自己的情况创建。但是需要记住路径,后续需要使用到。

第六步:我们先对zlib进行编译,由第四步解压得到zlib-1.2.11,使用命令进入:cd zlib-1.2.11

在该目录下使用命令:CC=arm-none-linux-gnueabi-gcc ./configure --shared --prefix=/home/mtd_utils_make/lib/zlib
解释:其中-prefix指定zlib的安装路径,需要指定到交叉编译器所在路径,但是我们临时创建了一个目录lib(第五步)
我是用了动态库* .so的方式,静态库* .a的方式可以参考网上教程。
然后使用命令进行编译:make   最后使用命令制作:make install

第七步:接着对lzo进行编译,由第四步加压得到lzo-2.10,使用命令进入:cd lzo-2.10

在该目录下使用命令:CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-none-linux-gnueabi --prefix=/home/mtd_utils_make/lib/lzo
解释:其中-prefix指定zlib的安装路径,需要指定到交叉编译器所在路径,但是我们临时创建了一个目录lib(第五步)	
然后使用命令进行编译:make   最后使用命令制作:make install

第八步:拷贝头文件:将上述2个开源包的安装目录include里面的头文件拷贝到arm-none-linux-gnueabi-交叉编译器相应的include目录下。

之前我们创建了一个目录lib,用于放我们的zlib和lzo的头文件。然后拷贝到交叉编译器相应的include目录下。
使用命令:cp -a /home/mtd_utils_make/lib/zlib/include/* /home/mtd_utils_make/lib/lzo/include* /usr/local/arm-2009q1/arm-none-linux-gnueabi/libc/usr/include

第九步:最后我们对mtd-utils进行编译,由第四步解压得到mtd-utils-1.0.0,使用命令进入:cd mtd-utils-1.0.0

接着我们修改Makefile:vi Makefile

修改内容如下:
9  CROSS=arm-none-linux-gnueabi-
10 CC := $(CROSS)gcc
42 mkfs.jffs2: crc32.o compr_rtime.o mkfs.jffs2.o compr_zlib.o compr.o
43 	$(CC) $(LDFLAGS) -o $@ $^ /home/mtd_utils_make/lib/zlib/lib/libz.so #i-lz
48 jffs2reader: jffs2reader.o
49 	$(CC) $(LDFLAGS) -o $@ $^ /home/mtd_utils_make/lib/zlib/lib/libz.so #-lz
56
57 INSTALL_DIR=/home/mtd_utils_make/mtd-utils-1.0.0      #注意这里是新添加的内容
58
59 install: ${TARGETS}
60 	mkdir -p ${INSTALL_DIR}/sbin
61 	install -m0755 ${TARGETS} ${INSTALL_DIR}/sbin
62 	mkdir -p ${INSTALL_DIR}/man/man1
63 	gzip -c mkfs.jffs2.1 > ${INSTALL_DIR}/man/man1/mkfs.jffs2.1.gz

保存退出

第十步:使用命令进行编译:make 然后再使用make install

第十一步:到此已经生成了工具包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值