blob: 8ce613aba5ede023d798e1fc38659e7ef92552ac [file] [log] [blame]
xf.lice873192023-11-08 17:10:35 -080011、环境
2环境ubuntu 18.04
xf.lie31de8b2023-12-26 23:38:58 -08003如果需要支持dm-verity,需要将签名工具SignTool拷贝到当前mkfs_sh目录
xf.lice873192023-11-08 17:10:35 -08004
52、命令帮助
6bash rootfs_mksqushfs_demo.sh out_name dir_name vol_name selinux_file dm_verity
7out_name:输出文件名
8dir_name:打包的目录
9vol_name:为UBI卷名称
10selinux_file: selinux context file。若禁用selinux,则需要提供一个不存在的文件即可
11dm_verity: 0 for disable dm-verity, 1 for enable dm-verity
12
133、squashfs打包示例
14caprootfs重新打包
15rootfs目录为版本elf/normal/ap_caprootfs.img.tgz解压,修改rootfs目录文件,然后重新打包。
16编辑rootfs_mksqushfs_demo.sh,检查下面参数配置
17UBI_ARGS为nandflash UBI参数配置
18MKSQUASHFS_ARGS为squashfs压缩打包参数
19PRIVATE_KEY为dm-verity签名私钥
20
21运行fakeroot命令,进入fakeboot模式
22bash rootfs_mksqushfs_demo.sh ap_caprootfs.img rootfs vol_rootfs rootfs/etc/selinux/mls/contexts/files/file_contexts 1
23
24oem重新打包类似。若开启selinux,需要提供selinux context文件。
25
xf.li7ccf8372024-03-07 00:08:02 -0800264、ubifs cfg打包示例
27编辑ubifs_from_cfg_demo.sh,检查下面参数配置
xf.lice873192023-11-08 17:10:35 -080028UBI_ARGS为nandflash UBI参数配置。参考oemdata-ubi-default.cfg配置自己的cfg文件。
xf.li7ccf8372024-03-07 00:08:02 -080029bash ubifs_from_cfg_demo.sh cap_oemdata.img oemdata-ubi-default.cfg
xf.lie31de8b2023-12-26 23:38:58 -080030cap_oemdata.img为输出文件,oemdata-ubi-default.cfg为配置文件。
31特殊注明:避免将一个目录打包成ubifs镜像,否则需要mkfs.ubifs命令,并且要计算max leb count值,这样就会和很多参数耦合,也不利于ubifs异常恢复。
xf.lice873192023-11-08 17:10:35 -080032ubifs的预置文件可以放到squashfs文件系统里,第一次启动的时候拷贝到ubifs里。
33
xf.li7ccf8372024-03-07 00:08:02 -0800345、ubifs 目录打包示例
35编辑gen_ubi_para.sh,检查里面的下面参数MTD_ERASE_SIZE、MTD_PAGE_SIZE和MTD_SUBPAGE_SIZE是否和flash参数一致。
36运行bash gen_ubi_para.sh 分区大小(单位MB),将所得的参数配置到ubifs_from_dir_demo.sh,包括UBIFS_ARGS和UBI_ARGS
37UBIFS_ARGS和UBI_ARGS参数除了数字参数之外,其他参数可以手动调整或者增加。比如调整压缩算法。
38运行 ubifs_from_dir_demo.sh 输出文件名 打包目录 分区名
39例如:bash ubifs_from_dir_demo.sh cap_oemdata.bin oemdata oemdata
40