特别注意
本章节将分为三个部分,分别是:
ext4 格式 img 打包
erofs 格式 img 打包
boot/recovery类型 img 打包1. ext4 格式打包
本部分将分为两个部分(两种打包方式),分别是
通过 make_ext4fs 打包
通过 mke2fs + e2fsdroid 打包1. 通过 make_ext4fs 打包
1.获得所需工具 - make_ext4fs - GitHub
访问工具链接并点击 下载图标 下载文件
2. 打包
将工具放置到所需打包分区所在目录
在该目录下打开 cmd 命令行
记录 config\分区名_size.txt 内数值
输入:make_ext4fs.exe -J -T 1167580800 -S config\分区名_file_contexts -l 上一步记录的数值 -C config\分区名_fs_config -L 分区名 -a 分区名 打包文件名 分区文件夹名示例:make_ext4fs.exe -J -T 1167580800 -S config\vendor_file_contexts -l 1145141919 -C config\vendor_fs_config -L vendor -a vendor vendor_new.img vendor
小等一会将会打包完成注意
打包要求您的文件需要严格按照解包后的结构(即所需打包文件夹 + config文件夹)存放,避免造成找不到文件的情况。如果您的机器是动态分区,请参考第二种打包方式
正确存放示例:vendor config make_ext4fs.exe
2. 通过 mke2fs + e2fsdroid 打包
1. 获得所需工具 - mke2fs + e2fsdroid
所需环境:Python - 官网
所需工具:
mke2fs - GitHub
e2fsdroid - GitHub
工具运行库 - GitHub访问对应链接 并点击 下载图标 下载文件
fspatch - GitHub访问 fspatch 仓库并点击 Code - Download zip 下载
2. 打包
将工具及运行库放置到所需打包分区所在目录
在该目录下打开 cmd 命令行
输入:python fspatch.py 分区文件夹名 config\分区名_fs_config 示例:python fspatch.py vendor config\vendor_fs_config
记录config\分区名_size.txt内数值,并除以4096后的数值 (例如: 11451419 / 4096)。如果有小数点(如 114514.19),请向上取整(如 114515)
输入:mke2fs -O ^has_journal -L 分区名 -I 256 -M /分区名 -m 0 -t ext4 -b 4096 打包文件名 上一步记录的数值示例:mke2fs -O ^has_journal -L vendor -I 256 -M /vendor -m 0 -t ext4 -b 4096 vendor_new.img 114515
输入:e2fsdroid -e -T 1167580800 -S 分区名_fs_config的绝对路径 -C 分区名_fs_config的绝对路径 -a /分区名 -f 分区文件夹名 上一步输入的打包文件名示例:e2fsdroid -e -T 1167580800 -S D:\homo\config\vendor_file_contexts -C D:\homo\config\vendor_fs_config -a /vendor -f vendor vendor_new.img
小等一会将会打包完成注意
打包要求您的文件需要严格按照解包后的结构(即所需打包文件夹 + config文件夹)存放,避免造成找不到文件的情况。
正确存放示例:vendor config mke2fs.exe e2fsdroid.exe cygwin1.dll fspatch.py2. erofs 格式打包
1. 获得所需工具 - mkfs.erofs
所需环境:Python - 官网
所需工具:
mkfs.erofs - GitHub访问工具 GitHub 仓库并从 Release 内下载工具
fspatch - GitHub访问 fspatch 仓库并点击 Code - Download zip 下载
2. 打包
将工具内所有文件放置到所需打包分区所在目录
在该目录下打开 cmd 命令行
输入:python fspatch.py 分区文件夹名 config\分区名_fs_config示例:python fspatch.py vendor config\vendor_fs_config
输入:mkfs.erofs -zlz4hc,8 -T 1167580800 --mount-point=/分区名 --fs-config-file=分区名_fs_config的绝对路径 --file-contexts=分区名_file_contexts的绝对路径 打包文件名 分区文件夹名示例:mkfs.erofs -zlz4hc,8 -T 1167580800 --mount-point=/vendor --fs-config-file=D:\homo\config\vendor_fs_config --file-contexts=D:\homo\config\vendor_file_contexts vendor_new.img vendor
小等一会将会打包完成注意
打包要求您的文件需要严格按照解包后的结构(即所需打包文件夹 + config文件夹)存放,避免造成找不到文件的情况。
正确存放示例:vendor config mkfs.erofs.exe winfsp-x64.dll cygwin1.dll fspatch.py3. boot/recovery类型 img 打包
1. 获得所需工具 - magiskboot(GitHub)
请访问工具 GitHub 仓库并从 Release 内下载工具
2. 打包
将工具放置到所需打包的boot/recovery的所在目录
在该目录下打开 cmd 命令行
输入:magiskboot.exe repack 原img文件 新img文件示例:magiskboot.exe repack boot.img boot_new.img
小等一会将会打包完成注意
请严格按照解包教程内的解包方法操作才可使用本方法进行打包