web-dev-qa-db-ja.com

LinuxでAndroid imgファイルをマウントするには?

最近、私はAndroid ROMに興味があります。それらを変更して再構築したいと思います。
だから、XOOMでテストを行いました。何かをマシンにフラッシュするのはとても簡単です。
MotorolaからROM( http://developer.Motorola.com/products/software/ )を入手しました。そして何が入っているのか知りたいので、開梱したいと思っています.

私はunyaffsを試しましたが、それはbroken img fileと言いました。
私はそれらをマウントしようとしますが、system.imgでうまく機能し、内部にファイルを取得できます。

mount -o loop userdata.img /mnt/userdatasystem.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の内部からファイルを取得する方法は?

31
FrankDeng

回答を参照してください: http://omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files

最初に、「圧縮解除」する必要がありますuserdata.img with simg2img、それからループデバイス経由でマウントできます。

31
Lajos Molnar

私は簡単な解決策を見つけました: http://andwise.net/?p=4

見積もり

(読みやすくするためにわずかに調整されています)


これは、リカバリを使用してフラッシュできる元のsystem.imgをアンパックおよび変更するすべてのユーザー向けです。 system.img(たとえばGoogleファクトリーイメージから取得)は、まばらなext4ループマウントファイルシステムを表します。デバイスの/ systemにマウントされます。このチュートリアルは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バイナリ。LinuxパッケージからダウンロードできますAndroid-tools-fsutils

手順:

system.imgと2つのバイナリを1つのディレクトリに配置し、バイナリにexec権限があることを確認します。

パート1-ファイルシステムをマウントする

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

次に、システムパーティションを「sys /」にマウントし、「sys /」で必要なものを変更できます。たとえば、de-odex apkおよびフレームワークjar。

パート2 –新しいフラッシュ可能なシステムイメージを作成する

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

これで、次のように入力できます。

fastboot flash system new.img

20
Fatih

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 executable」と表示されている場合は、「unyaffs」を使用して抽出できます。

2
binhgreat

別のオプションは、DDMS(Eclipse SDK)のファイルエクスプローラーを使用することです。そこにあるファイルシステム全体を確認し、目的の場所にファイルをダウンロード/アップロードできます。そうすれば、イメージをマウントして処理する必要がありません。デバイスをUSBデバッグ可能として設定することを忘れないでください(開発者ツールから)

0
Stefan Malacu