あなたはすでにあなた自身の質問に答えていますが、少し拡張します。Android SDK には、次のようなシステム イメージが付属しています。
$ cd android-sdk-linux/system-images/android-15/armeabi-v7a/
$ ls *.img
ramdisk.img system.img userdata.img
$ cd ~/.android/avd/<img name>.avd/
$ ls *.img
cache.img sdcard.img userdata.img userdata-qemu.img
ただし、すべての画像が同じタイプであるとは限りません。
$ file *.img
cache.img: VMS Alpha executable
sdcard.img: x86 boot sector, code offset 0x5a, OEM-ID "MSWIN4.1", sectors/cluster 4, Media descriptor 0xf8, sectors 2048000 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 3993, reserved3 0x800000, serial number 0x17de3f04, label: " SDCARD"
userdata.img: VMS Alpha executable
userdata-qemu.img: VMS Alpha executable
sdcard.img
余分なパーティションが含まれていないため、オフセットパラメータなしで直接マウントできます ( など) -o loop,offset=32256
:
$ fdisk -l sdcard.img
You must set cylinders.
You can do this from the extra functions menu.
Disk sdcard.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
$ sudo mount -o loop sdcard.img /mnt/
として記述されている他の画像ファイルVMS Alpha executable
は、実際にはyaffs2ファイルです。私の知る限り、直接マウントすることはできませんが、unyaffsまたはunyaffs2という 2 つのユーティリティを使用して抽出できます。
$ mkdir extract
$ cd extract
$ unyaffs ../userdata.img
また
$ unyaffs2 --yaffs-ecclayout ../userdata.img .
圧縮されたext4 imgファイルで使用されるsimg2img
Androidソースツリーで見つけることができる別のユーティリティがあることに注意してください。ただし、画像に./android_src/system/extras/ext4_utils/
誤って適用すると、 .yaffs2
Bad magic