安卓手機刷機包制作教程

@zgcwkj  2023年02月19日

分類:

代碼 其它 

payload、lpmake、simg2img、lpdump、img2simg、erofsUnpack、mkfs.erofs 的命令來實現制作安卓刷機包

工具

內容已隱藏,需要評論並且審核通過後,才能閱讀隱藏內容

payload.bin 解包

tool\payload.exe -o payload payload.bin
參數說明
l列出包含的鏡像
p提取鏡像名稱
o輸出目錄

查看手機動態分區信息

adb shell lpdump

查看手機分區信息

adb shell ls -al /dev/block/platform/.../by-name

super.img 解包(vab分區示例)

tool\lpunpack superr.img .\super_output

super.img 打包(vab分區示例)

tool\lpmake --super-name super \
--metadata-size 65536 \
--device super:9653190656 \
--metadata-slots 3 \
--group qti_dynamic_partitions_a:9653190656 \
--group qti_dynamic_partitions_b:9653190656 \
-p 'mi_ext_a:readonly:20480:qti_dynamic_partitions_a'v \
-i 'mi_ext_a=super_output/mi_ext_a.img' \
-p 'odm_a:readonly:802078720:qti_dynamic_partitions_a' \
-i 'odm_a=super_output/odm_a.img' \
-p 'product_a:readonly:4567310336:qti_dynamic_partitions_a' \
-i 'product_a=super_output/product_a.img' \
-p 'system_a:readonly:769331200:qti_dynamic_partitions_a' \
-i 'system_a=super_output/system_a.img' \
-p 'system_dlkm_a:readonly:348160:qti_dynamic_partitions_a' \
-i 'system_dlkm_a=super_output/system_dlkm_a.img' \
-p 'system_ext_a:readonly:497364992:qti_dynamic_partitions_a' \
-i 'system_ext_a=super_output/system_ext_a.img' \
-p 'vendor_a:readonly:1512857600:qti_dynamic_partitions_a' \
-i 'vendor_a=super_output/vendor_a.img' \
-p 'vendor_dlkm_a:readonly:38088704:qti_dynamic_partitions_a' \
-i 'vendor_dlkm_a=super_output/vendor_dlkm_a.img' \
-p 'mi_ext_b:readonly:0:qti_dynamic_partitions_b' \
-p 'odm_b:readonly:0:qti_dynamic_partitions_b' \
-p 'product_b:readonly:0:qti_dynamic_partitions_b' \
-p 'system_b:readonly:0:qti_dynamic_partitions_b' \
-p 'system_dlkm_b:readonly:0:qti_dynamic_partitions_b' \
-p 'system_ext_b:readonly:0:qti_dynamic_partitions_b' \
-p 'vendor_b:readonly:0:qti_dynamic_partitions_b' \
-p 'vendor_dlkm_b:readonly:0:qti_dynamic_partitions_b' \
--sparse --output super.img
在 windows 中,請用一行
tool\lpmake.exe --super-name super --metadata-size 65536 --device super:9653190656 --metadata-slots 3 --group qti_dynamic_partitions_a:9653190656 --group qti_dynamic_partitions_b:9653190656 -p 'mi_ext_a:readonly:20480:qti_dynamic_partitions_a' -i 'mi_ext_a=super_output/mi_ext_a.img' -p 'odm_a:readonly:802078720:qti_dynamic_partitions_a' -i 'odm_a=super_output/odm_a.img' -p 'product_a:readonly:4567310336:qti_dynamic_partitions_a' -i 'product_a=super_output/product_a.img' -p 'system_a:readonly:769331200:qti_dynamic_partitions_a' -i 'system_a=super_output/system_a.img' -p 'system_dlkm_a:readonly:348160:qti_dynamic_partitions_a' -i 'system_dlkm_a=super_output/system_dlkm_a.img' -p 'system_ext_a:readonly:497364992:qti_dynamic_partitions_a' -i 'system_ext_a=super_output/system_ext_a.img' -p 'vendor_a:readonly:1512857600:qti_dynamic_partitions_a' -i 'vendor_a=super_output/vendor_a.img' -p 'vendor_dlkm_a:readonly:38088704:qti_dynamic_partitions_a' -i 'vendor_dlkm_a=super_output/vendor_dlkm_a.img' -p 'mi_ext_b:readonly:0:qti_dynamic_partitions_b' -p 'odm_b:readonly:0:qti_dynamic_partitions_b' -p 'product_b:readonly:0:qti_dynamic_partitions_b' -p 'system_b:readonly:0:qti_dynamic_partitions_b' -p 'system_dlkm_b:readonly:0:qti_dynamic_partitions_b' -p 'system_ext_b:readonly:0:qti_dynamic_partitions_b' -p 'vendor_b:readonly:0:qti_dynamic_partitions_b' -p 'vendor_dlkm_b:readonly:0:qti_dynamic_partitions_b' --sparse --output super.img
參數說明
super-name分區名
metadata-sizemetadata 大小
device分區名:大小
metadata-slots分區數量
group分區組名:大小
p分區:大小
i分區鏡像
sparse格式
output輸出鏡像

轉換(sparse 轉換為 raw)

tool\simg2img.exe super.img superr.img
參數說明
參數1轉換前路徑
參數2轉換後路徑

信息(查看 raw 分區詳情)

tool\lpdump.exe superr.img
參數說明
參數1鏡像路徑

轉換(raw 轉換為 sparse)

tool\img2simg.exe superr.img super.img
參數說明
參數1轉換前路徑
參數2轉換後路徑

erofs 解包

tool\erofsUnpack.exe .\system.img system
參數說明
參數1鏡像路徑
參數2文件夾路徑

erofs 打包

tool\mkfs.erofs -T 1230768000 \
--mount-point /system \
--fs-config-file system_fs_config \
--file-contexts system_file_contexts \
-zlz4 system.img system/
在 windows 中,請用一行
tool\mkfs.erofs.exe -T 1230768000 --mount-point /system --fs-config-file system_fs_config --file-contexts system_file_contexts -zlz4 system.img system/
參數說明
help幫助
T起始時間戳
mount-point掛載點
fs-config-filesystem_fs_config 文件路徑
file-contextssystem_file_contexts 文件路徑
zlz4壓縮方式(有 lz4,lz4hc 等)
末2鏡像路徑
末1文件夾路徑

去除 avb2.0 校驗

使用命令
fastboot --disable-verity --disable-verification flash vbmeta_a vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system_a vbmeta_system.img

鏡像文件
https://blog.xzr.moe/archives/226/
https://github.com/libxzr/vbmeta-disable-verification

掛在鏡像

mkdir /temppath
mount imgfile.img /temppath

視頻

1、移植包相關
https://www.bilibili.com/video/BV1Jh4y197K5

注意

  1. vbmeta.img 和 vbmeta_system.img 需要關閉 avb2.0 校驗
  2. data 分區加密在 vendor.img 裏,去除之後 data 分區就不會根據密鑰加密了
  3. erofs 解包後,添加或刪除文件時都需要修改 system_fs_config 和 system_file_contexts ,可以用記事本打開它
  4. 降級需要刪除以下文件夾
/data/daluik-cachel
/data/system/package_cachel
/data/misc/keystore

下面的謹慎刪除
/data/system/locksettings.db
/data/system/locksettings.db-journal


評論已關閉

Top