如何挂载AOSP .img文件?

时间:2014-10-01 09:05:59

标签: android android-source

我通过构建 AOSP 来生成 *。img

喜欢 ramdisk.img,boot.img

我想 mount 这个文件。我使用的是Ubuntu。

2 个答案:

答案 0 :(得分:0)

您无法挂载boot.img文件,因为它不是有效的文件系统

boot.img文件包含ramdisk和内核二进制文件(zImage),可能包含dt.img(设备树)。

有一个优秀的开源项目:mkbootimg_tools at GitHub。您可以使用它来拆分boot.img文件并解压缩ramdisk。

答案 1 :(得分:0)

<强> simg2img

某些版本默认会压缩某些Android图片。例如,使用lunch hikey960-eng的HiKey960构建就是这种情况,但不适用于仿真器构建,例如与lunch aosp_x86_64-eng

您必须先使用simg2img解压缩它们:

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

simg2img位于./out/host/linux-x86/bin/simg2img下,并由lunch自动添加到PATH。

但请注意,并非所有图像都是如此,例如: boot.img

如果您跳过simg2img,则会收到错误消息:

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?

尝试装载时。

似乎压缩格式是fastboot可以理解的。

还提到了:https://stackoverflow.com/a/9675784/895245

在分支repo init -b android-8.1.0_r1的Ubuntu 16.04主机中测试。