将线刷包中的super.img分区文件解包为对应分区并在Linux操作系统上挂载。
super.img 是什么
在 Android 10 之后的设备的线刷包解包之后里面通常都会有一个super.img
,该文件是 Google 引入的动态分区镜像文件。
动态分区是 Android 的用户空间分区系统。使用此分区系统,您可以在无线下载 (OTA) 更新期间创建、销毁分区或者调整分区大小。借助动态分区,供应商无需担心各个分区(例如system
、vendor
和 product
)的大小。取而代之的是,设备分配一个 super
分区,其中的子分区可动态地调整大小。单个分区映像不再需要为将来的 OTA 预留空间。相反,super
中剩余的可用空间还可用于所有动态分区。
转换Super.img
这一步需要用到simg2img
,可直接在软件源apt install simg2img
中安装。
1 | simg2img super.img super_ext4.img |
super.img 拆包
这一步需要用到lpunpack
和python
,lpunpack
在 Github 上可以下载到,Github 地址。
用法:
1 | # 参数从左至右分别为 |
示例:
已知需要拆分出来的是哪个分区,用-p
参数指定;如果需要全部拆分出来则省略-p
参数。
1 | python3 lpunpack.py -p system super_ext4.img ~/super_output |
挂载镜像文件
1 | mount -o ro system.img ~/super_output/system |