嵌入式JFFS2固件解包&打包

环境:Ubuntu 20.04

1.安装解包工具

sudo apt-get install mtd-tools

2.在Ubuntu上挂载MTD设备

1).创建MTD设备

sudo modprobe -v mtd
sudo modprobe -v jffs2
sudo modprobe -v mtdram total_size=10000 erase_size=128 ##(单位:K)
sudo modprobe -v mtdchar
sudo modprobe -v mtdblock

2).擦除mtd0

flash_eraseall /dev/mtd0

3).将jffs2固件写入mtd0

sudo dd if=rootfs.jffs2 of=/dev/mtd0

3.将MTD设备挂载到本地目录

1). 新建目录&挂载目录

sudo mkdir rootfs
sudo mount -t jffs2 /dev/mtdblock0 rootfs

2). 将目录内容拷贝出来

cp rootfs rootfs_mtd -Rf

3). 修改rootfs_mtd目录内的内容
按照你的需要来替换/新增/删除内容
4). 解除挂载

umount rootfs

4.重新打包

1). 打包jffs2固件

mkfs.jffs2 -d rootfs_mtd -l -e 0x10000 -o rootfs_new_jffs2.img

2). 打包squashfs固件
注意-b 64k -comp xz参数,具体的这里不详细解释,网上有很多

mksquashfs rootfs_mtd rootfs_new_squashfs.img -b 64k -comp xz

你可能感兴趣的:(海思,ubuntu,linux,arm开发)