| 1、环境 |
| 环境ubuntu 18.04 |
| 如果需要支持dm-verity,需要将签名工具SignTool拷贝到当前mkfs_sh目录 |
| |
| 2、命令帮助 |
| bash rootfs_mksqushfs_demo.sh out_name dir_name vol_name selinux_file dm_verity |
| out_name:输出文件名 |
| dir_name:打包的目录 |
| vol_name:为UBI卷名称 |
| selinux_file: selinux context file。若禁用selinux,则需要提供一个不存在的文件即可 |
| dm_verity: 0 for disable dm-verity, 1 for enable dm-verity |
| |
| 3、squashfs打包示例 |
| caprootfs重新打包 |
| rootfs目录为版本elf/normal/ap_caprootfs.img.tgz解压,修改rootfs目录文件,然后重新打包。 |
| 编辑rootfs_mksqushfs_demo.sh,检查下面参数配置 |
| UBI_ARGS为nandflash UBI参数配置 |
| MKSQUASHFS_ARGS为squashfs压缩打包参数 |
| PRIVATE_KEY为dm-verity签名私钥 |
| |
| 运行fakeroot命令,进入fakeboot模式 |
| bash rootfs_mksqushfs_demo.sh ap_caprootfs.img rootfs vol_rootfs rootfs/etc/selinux/mls/contexts/files/file_contexts 1 |
| |
| oem重新打包类似。若开启selinux,需要提供selinux context文件。 |
| |
| 4、ubifs打包示例 |
| 编辑ubifs_demo.sh,检查下面参数配置 |
| UBI_ARGS为nandflash UBI参数配置。参考oemdata-ubi-default.cfg配置自己的cfg文件。 |
| bash ubifs_demo.sh cap_oemdata.img oemdata-ubi-default.cfg |
| cap_oemdata.img为输出文件,oemdata-ubi-default.cfg为配置文件。 |
| 特殊注明:避免将一个目录打包成ubifs镜像,否则需要mkfs.ubifs命令,并且要计算max leb count值,这样就会和很多参数耦合,也不利于ubifs异常恢复。 |
| ubifs的预置文件可以放到squashfs文件系统里,第一次启动的时候拷贝到ubifs里。 |
| |