Usted ya ha contestado a su propia pregunta, pero Voy a ampliar un poco. el SDK de Android viene con imágenes del sistema, por ejemplo:
$ 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
Sin embargo, no todas las imágenes son del mismo tipo:
$ 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
Desde sdcard.img
no contiene particiones adicionales, que se pueden montar directamente sin un parámetro de desplazamiento (como -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/
Los otros archivos de imagen que se describen como VMS Alpha executable
son de hecho yaffs2 archivos. Por lo que sé, no se pueden montar directamente, pero se pueden extraer utilizando las dos utilidades unyaffs o unyaffs2.
$ mkdir extract
$ cd extract
$ unyaffs ../userdata.img
o
$ unyaffs2 --yaffs-ecclayout ../userdata.img .
Nota, hay otra utilidad llamada simg2img
que se puede encontrar en el árbol de fuentes androide bajo ./android_src/system/extras/ext4_utils/
que se utiliza en los archivos ext4 img comprimido. Sin embargo, si se aplica incorrectamente a las imágenes yaffs2
, se queja con Bad magic
.