下载

mtd:ftp://ftp.infradead.org/pub/mtd-utils/

zlib:http://www.zlib.net/

lzo:http://bouchez.info/lzo.html

lzo编译

# ./configure --prefix=/usr/local/lzo/ CC=arm-linux-gcc --host=arm-linux
# make && make install

zlib编译

# ./configure --prefix=/usr/local/zlib/
修改Makefile的gcc为arm-linux-gcc
# make && make install

mtd-utils编译

# make CROSS=arm-linux-gcc
# make install

出现错误

mkfs.jffs2.c:69:21: sys/acl.h

解决办法

在Makefile中添加

WITHOUT_XATTR = 1

或者

# make CROSS=arm-linux-gcc WITHOUT_XATTR=1

出现错误

动态链接库错误

解决办法

修改Makefile,动态链接库后加入绝对路径(使用 -L)

出现错误

mkfs.ubifs/mkfs.ubifs.h:48:23: uuid/uuid.h: No such file or directory

解决办法

此问题不用解决,mtd工具已经在arm-linux-gcc目录中生成

编译完成

# mkfs.
mkfs.bfs mkfs.ext2 mkfs.ext4 mkfs.jffs2 mkfs.msdos mkfs.vfat
mkfs.cramfs mkfs.ext3 mkfs.ext4dev mkfs.minix mkfs.ntfs

jffs2

# mkdir jffs2
# mkfs.jffs2 –d jffs2/ -o jffs2.img
# dd if=jffs2.img of=/dev/mtdblock0
# mount -t jffs2 /dev/mtdblock0 /mnt/
05-11 18:12