如何在linux下挂载android img文件?

Fra*_*eng 33 android rom

最近,我对android rom感兴趣,我想改变并重建它们.
所以,我在我的XOOM上做了一些测试,很容易在机器上闪现一些东西.
我从MOTOROLA(http://developer.motorola.com/products/software/)获得了一些ROM ,它们是一些img文件,我想知道里面有什么,我希望打开它们.

它说,我试过了unyaffsbroken img file.
我尝试安装它们,它在system.img上工作得很好,我可以在里面获取文件.

当我想通过mount -o loop userdata.img /mnt/userdata(相同system.img)挂载userdata.img时,它告诉我mount: you must specify the filesystem type所以我试试mount -t ext2 -o loop userdata.img /mnt/userdata,它说mount: wrong fs type, bad option, bad superblock on...

那么,如何从内部获取文件userdata.img

小智 33

请参阅答案:http://omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files

首先,你需要"解压缩" userdata.imgsimg2img,那么你可以通过循环设备安装它.


Fat*_*tih 19

我找到了一个简单的解决方案:http://andwise.net/?p = 403

引用

(略微调整以提高可读性)


这适用于所有想要解压缩和修改原始system.img的人,您可以使用恢复进行闪存. system.img(例如,您从谷歌工厂图像获得)表示一个稀疏的ext4循环安装文件系统.它安装在您设备的/系统中.请注意,本教程适用于ext4文件系统.例如,您可能拥有yaffs2的系统映像.

它安装在Galaxy Nexus上的方式:

/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro,relatime,barrier=1,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

先决条件:

程序:

system.img和2个二进制文件放在一个目录中,并确保二进制文件具有exec权限.

第1部分 - 安装文件系统

mkdir sys
./simg2img system.img sys.raw
sudo mount -t ext4 -o loop sys.raw sys/
Run Code Online (Sandbox Code Playgroud)

然后,您将系统分区安装在'sys /'中,您可以在'sys /'中修改您想要的任何内容.例如de-odex apks和框架jar.

第2部分 - 创建一个新的可闪烁系统映像

sudo ./make_ext4fs -s -l 512M -a system new.img sys/
sudo umount sys
rm -fr sys
Run Code Online (Sandbox Code Playgroud)

现在您只需输入:

fastboot flash system new.img
Run Code Online (Sandbox Code Playgroud)

  • 在Debian和Ubuntu的`android-tools-fsutils`包中也提供了`simg2img`(和`make_ext4fs`). (3认同)
  • 嗨,使用这种方法,我遇到了一个错误,提示“报头魔术师的稀疏文件格式无效,无法读取稀疏文件” (2认同)