How to mount AOSP .img files?

坚强是说给别人听的谎言 提交于 2019-12-05 07:26:42

问题


I generate *.img by building AOSP.

Like ramdisk.img,boot.img etc.

I want to mount this file. I'm using Ubuntu.


回答1:


You cannot mount boot.img file, as it's not a valid filesystem

The boot.img file contains ramdisk and kernel binary (zImage) and possibly dt.img (device tree).

There is an excellent open source project: mkbootimg_tools at GitHub. You can use it to split the boot.img file and unpack the ramdisk.




回答2:


simg2img

Some Android images are compressed by default for some builds. This is the case for example of the HiKey960 build with lunch hikey960-eng, but not for emulator builds e.g. with lunch aosp_x86_64-eng.

You must first usesimg2img to decompress them:

simg2img system.img out.img
sudo losetup --show -f -P out.img
sudo mount /dev/loop0 /mnt/loop0

simg2img lives under ./out/host/linux-x86/bin/simg2img, and gets added automatically to PATH by lunch.

Note however that this is not the case for all the images, e.g. boot.img.

If you skip simg2img, you get the error:

NTFS signature is missing.
Failed to mount '/dev/loop3': Invalid argument
The device '/dev/loop3' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

when trying to mount.

It appears that the compressed format is something that fastboot can understand.

Also mentioned at: https://stackoverflow.com/a/9675784/895245

Tested in Ubuntu 16.04 host, at branch repo init -b android-8.1.0_r1.



来源:https://stackoverflow.com/questions/26137795/how-to-mount-aosp-img-files

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!