本文涉及到高通平台android12的super.image 的解压缩和挂载到ubuntu下来查看里面的内容。附带详细的脚本
ubuntu先安装simg2img
从代码根目录操作下面的指令
mkdir superimage
simg2img UM.9.15/out/target/product/bengal_32go/super.img ./superimage/super.img_raw
//从raw里抽取出system vendor produce system_ext四个image
cd superimage
mkdir tmp
…/QSSI.12/out/host/linux-x86/bin/lpunpack super.img_raw tmp
得到各个分区image如下
product.img system_ext.img system.img vendor.img
将每个image挂载到ubuntu的一个文件夹下就可以查看image里的内容了。
cd tmp
mkdir ../androidimage
mkdir ../androidimage/system
mkdir ../androidimage/vendor
mkdir ../androidimage/system_ext
mkdir ../androidimage/product
sudo mount -o ro system.img ../androidimage/system
sudo mount -o ro vendor.img ../androidimage/vendor
sudo mount -o ro system_ext.img ../androidimage/system_ext/
sudo mount -o r product.img ../androidimage/product/
然后就可以看到挂载的内容了
superimage/system$ ls
acct bugreports d debug_ramdisk init lost+found odm postinstall sdcard sys vendor
apex cache data dev init.environ.rc metadata odm_dlkm proc second_stage_resources system vendor_dlkm
bin config data_mirror etc linkerconfig mnt oem product storage system_ext
详细源码如下:
从代码跟目录执行脚本内容就可以
mkdir superimage
simg2img UM.9.15/out/target/product/bengal_32go/super.img ./superimage/super.img_raw
cd superimage
mkdir tmp
../QSSI.12/out/host/linux-x86/bin/lpunpack super.img_raw tmp
mkdir androidimage
cd tmp
mkdir ../androidimage/system
mkdir ../androidimage/vendor
mkdir ../androidimage/system_ext
mkdir ../androidimage/product
sudo umount ../androidimage/system
sudo umount ../androidimage/system_ext
sudo umount ../androidimage/vendor
sudo umount ../androidimage/product
sudo chmod 777 -R ../androidimage
sudo mount -o ro system.img ../androidimage/system
sudo mount -o ro vendor.img ../androidimage/vendor
sudo mount -o ro system_ext.img ../androidimage/system_ext
sudo mount -o ro product.img ../androidimage/product