Bạn đã trả lời câu hỏi của riêng bạn nhưng tôi sẽ mở rộng một chút. SDK Android đi kèm với hình ảnh hệ thống, ví dụ:
$ 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
Mặc dù, không phải tất cả hình ảnh là của cùng một loại:
$ 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
Kể từ sdcard.img
không chứa phân vùng thêm, nó có thể được gắn trực tiếp mà không thông số bù đắp (như -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/
Các tệp hình ảnh khác được mô tả là VMS Alpha executable
là trong thực tế yaffs2 tập tin. Theo như tôi biết họ không thể được gắn trực tiếp nhưng có thể được chiết xuất bằng hai tiện ích unyaffs hoặc unyaffs2.
$ mkdir extract
$ cd extract
$ unyaffs ../userdata.img
hoặc
$ unyaffs2 --yaffs-ecclayout ../userdata.img .
Lưu ý, có một tiện ích gọi là simg2img
có thể được tìm thấy trong cây nguồn android dưới ./android_src/system/extras/ext4_utils/
được sử dụng trên các tập tin img ext4 nén. Tuy nhiên, nếu áp dụng sai cho yaffs2
hình ảnh, nó khiếu nại với Bad magic
.