mtd交叉编译mkfs命令

下载
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/
posted @   thomas_blog  阅读(970)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示