1) squashfs 打包方式:
mksquashfs rootfs[输入文件加] rootfs.squashfs[输出文件名] -comp xz
2) jffs2 打包方式:
mkfs.jffs2 -o jffs2.img[输出文件名] -r jffs2_dir[输入文件夹] -e 0x8000[擦除 大小 32K] -s 0x40000[页大小 256K] -n -l -X zlib –pad=0x300000[输出镜像 pad 到 3MB 大小]
建议通过设备端擦除再直接 mount 的方式创建 jiff2 分区。 具体操作如下;
首先正确的编译出 uboot, uImage, rootfs 三个分区的内容; 然后通过烧录器或其 它烧录方法把 norflash 全部擦除, 最后烧录到相应位置。
系统起来以后根据 uboot 的分区信息分别进行手动挂载,例如: mount -t jffs2 /dev/mtdblock3 /system; 然后把相应文件通过 SD 卡的方式拷贝到 /system 文件夹下 面。
最后通过 dd if=/dev/mtd3 of=/tmp/system.jffs2 方式拷贝出来, 完成制作。
注意: jffs2 制作某个分区为 jffs2 文件,分区大小必须为 nor erase_size 的整数倍, 这个是官方驱动的要求。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:嵌入式linux文件系统打包的方法 https://www.yhzz.com.cn/a/16142.html