如何在Linux下安装android img文件?

最近,我对android rom感兴趣,我想改变和重build它们。
所以,我在我的XOOM上做了一些testing,在机器中闪烁的东西非常容易。
我从MOTOROLA( http://developer.motorola.com/products/software/ )获得了一些ROM,它们是一些img文件,我想知道里面是什么,我希望解压它们。

我试过unyaffs ,它说broken img file
我尝试挂载它们,它在system.img上运行良好,我可以在里面find文件。

当我想通过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里面获取文件呢?

Solutions Collecting From Web of "如何在Linux下安装android img文件?"

查看答案: http : //omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files

首先你需要用simg2img “解压” userdata.img ,然后你可以通过循环设备来挂载它。

我find了一个简单的解决scheme: 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”先决条件:

Linux机器或虚拟机simg2img,make_ext4fs二进制文件可以从这里下载http://andwise.net/?attachment_id=406

程序:

将system.img和2个二进制文件放在一个目录中,并确保二进制文件具有exec权限。 第1部分 – 安装文件系统

 mkdir sys ./simg2img system.img sys.raw sudo mount -t ext4 -o loop sys.raw sys/ 

然后你把所有的系统分区放在'sys'中,你可以在'sys'中修改任何你想要的。 例如de-odex apks和框架jar。 第2部分 – 创build一个新的可崩解系统映像。

sudo ./make_ext4fs -s -l 512M -a system new.img sys / sudo umount sys rm -fr sys

现在你可以简单地input:

快速启动闪光系统new.img

在Android文件系统中,“system.img”和“userdata.img”是VMS Alpha可执行文件。 “system.img”和“userdata.img”在根文件系统上具有/ system和/ data目录的内容。 它们被映射到具有yaffs2文件系统的NAND设备上。 现在,yaffs2镜像文件无法挂载在Linux PC上。 如果可以的话,也许你有一些没有包含在yaffs2文件系统中的ROM。 您可以通过执行命令来检查这些rom文件:

 file <system.img/userdata.img> 

如果显示“VMS Alpha可执行文件”,那么你可以使用“unyaffs”来提取它。

另一个select是使用DDMS中的文件浏览器(Eclipse SDK),你可以看到整个文件系统,并下载/上传文件到所需的位置。 这样你就不必安装和处理图像。 请记住将您的设备设置为USB可debugging(来自Developer Tools)

我发现Furius ISO mount最适合我。 我正在使用基于Debian的发行版Knoppix。 我用这个来打开system.img文件。

Furius ISO mount: https://packages.debian.org/sid/otherosfs/furiusisomounthttps://packages.debian.org/sid/otherosfs/furiusisomount

“当我想通过mount -o loop userdata.img / mnt / userdata(与system.img相同)挂载userdata.img时,它会告诉我mount:你必须指定文件系统types,所以我试着mount -t ext2 – o循环userdata.img / mnt / userdata,它表示mount:错误的fstypes,错误的选项,坏的超级块…

那么,如何从userdata.img里面获取文件?“要加载.img文件,你必须select循环并加载.img select循环

接下来你select安装select安装

Furius ISO装载处理所有其他选项将.img文件加载到您的/ home / dir。