1、环境
环境ubuntu 18.04
sudo apt-get  install policycoreutils  cryptsetup-bin
将签名工具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
特殊注明：避免将一个目录打包成ubifs镜像，否则需要mkfs.ubifs命令，并且要计算max leb count值。
ubifs的预置文件可以放到squashfs文件系统里，第一次启动的时候拷贝到ubifs里。

