移植mtd-utils工具包--使用教程
关于mtd-utils的移植,在Ubuntu Server 10.04平台上交叉编译,移植到嵌入式Linux,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境:
build: Ubuntu Server 10.04
host: Linux version 2.6.32.15-15-sigma
cross compiler:mips-linux-gnu-gcc version:4.3.2
cpu: mips
交叉编译mtd-utils,依赖(zlib,lzo);
Download Open Sources:
mtd-utils-1.0.0.tar.gz (Address:ftp://ftp.infradead.org/pub/mtd-utils/)
zlib-1.2.3.tar.gz
lzo-2.03.tar.gz
Building zlib-1.2.3.tar.gz:
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3/
CC="mips-linux-gnu-gcc -EL" ./configure --shared --prefix=/home/gzshun/zlib/ (动态库*.so)
CC="mips-linux-gnu-gcc -EL" ./configure --prefix=/home/gzshun/zlib/ (静态库*.a)
make
make install
Building lzo-2.03.tar.gz:
tar zxvf lzo-2.03.tar.gz
cd lzo-2.03/
./configure --host=mips-linux-gnu CC="mips-linux-gnu-gcc -EL" --prefix=/home/gzshun/lzo/
make
make install
将上述2个开源包的安装目录include里面的头文件拷贝到mips交叉编译器相应的include目录下。
本人的环境:cp -a /home/gzshun/zlib/include/* /home/gzshun/lzo/include/* /usr/local/src/mips-4.3/mips-linux-gnu/libc/usr/include/
Building mtd-utils-1.0.0.tar.gz:
tar zxvf mtd-utils-1.0.0.tar.gz
cd mtd-utils-1.0.0/
动态编译:
vi Makefile
修改内容如下:
9 CROSS=mips-linux-gnu-
10 CC := $(CROSS)gcc -EL
42 mkfs.jffs2: crc32.o compr_rtime.o mkfs.jffs2.o compr_zlib.o compr.o
43 $(CC) $(LDFLAGS) -o $@ $^ /home/gzshun/zlib/lib/libz.so #-lz
48 jffs2reader: jffs2reader.o
49 $(CC) $(LDFLAGS) -o $@ $^ /home/gzshun/zlib/lib/libz.so #-lz
57 INSTALL_DIR=/home/gzshun/mtd-utils
58
59 install: ${TARGETS}
60 mkdir -p ${INSTALL_DIR}/s
关于mtd-utils的移植,在Ubuntu Server 10.04平台上交叉编译,移植到嵌入式Linux,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境:
build: Ubuntu Server 10.04
host: Linux version 2.6.32.15-15-sigma
cross compiler:mips-linux-gnu-gcc version:4.3.2
cpu: mips
交叉编译mtd-utils,依赖(zlib,lzo);
Download Open Sources:
mtd-utils-1.0.0.tar.gz (Address:ftp://ftp.infradead.org/pub/mtd-utils/)
zlib-1.2.3.tar.gz
lzo-2.03.tar.gz
Building zlib-1.2.3.tar.gz:
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3/
CC="mips-linux-gnu-gcc -EL" ./configure --shared --prefix=/home/gzshun/zlib/ (动态库*.so)
CC="mips-linux-gnu-gcc -EL" ./configure --prefix=/home/gzshun/zlib/ (静态库*.a)
make
make install
Building lzo-2.03.tar.gz:
tar zxvf lzo-2.03.tar.gz
cd lzo-2.03/
./configure --host=mips-linux-gnu CC="mips-linux-gnu-gcc -EL" --prefix=/home/gzshun/lzo/
make
make install
将上述2个开源包的安装目录include里面的头文件拷贝到mips交叉编译器相应的include目录下。
本人的环境:cp -a /home/gzshun/zlib/include/* /home/gzshun/lzo/include/* /usr/local/src/mips-4.3/mips-linux-gnu/libc/usr/include/
Building mtd-utils-1.0.0.tar.gz:
tar zxvf mtd-utils-1.0.0.tar.gz
cd mtd-utils-1.0.0/
动态编译:
vi Makefile
修改内容如下:
9 CROSS=mips-linux-gnu-
10 CC := $(CROSS)gcc -EL
42 mkfs.jffs2: crc32.o compr_rtime.o mkfs.jffs2.o compr_zlib.o compr.o
43 $(CC) $(LDFLAGS) -o $@ $^ /home/gzshun/zlib/lib/libz.so #-lz
48 jffs2reader: jffs2reader.o
49 $(CC) $(LDFLAGS) -o $@ $^ /home/gzshun/zlib/lib/libz.so #-lz
57 INSTALL_DIR=/home/gzshun/mtd-utils
58
59 install: ${TARGETS}
60 mkdir -p ${INSTALL_DIR}/s