आप पहले से ही अपने स्वयं के सवाल का जवाब है, लेकिन मैं थोड़ा विस्तार करेंगे। 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/
अन्य छवि फ़ाइलें जोरूप में वर्णित हैंवास्तव में yaffs2 फाइलें हैं। जहां तक मुझे पता है कि उन्हें सीधे घुड़सवार नहीं किया जा सकता है लेकिन दो उपयोगिता unyaffs या unyaffs2 का उपयोग करके निकाला जा सकता है।
$ mkdir extract
$ cd extract
$ unyaffs ../userdata.img
या
$ unyaffs2 --yaffs-ecclayout ../userdata.img .
ध्यान दें, एक और उपयोगिता simg2img
बुलाया ./android_src/system/extras/ext4_utils/
जो संकुचित ext4 img फाइलों पर प्रयोग किया जाता है के तहत एंड्रॉयड स्रोत पेड़ में पाया जा सकता है है। हालांकि, अगर yaffs2
छवियों पर गलत तरीके से लागू किया गया है तो यह Bad magic
से शिकायत करता है।