2011-12-29 41 views
20

Recientemente, estoy interesado en la rom de Android, quiero cambiar y reconstruirlos.
Por lo tanto, hice algunas pruebas en mi XOOM, es muy fácil flashear algo en la máquina.
Tengo un ROM de MOTOROLA (http://developer.motorola.com/products/software/), son algunos archivos img, y quiero saber lo que hay adentro, espero poder descomprimirlos.¿Cómo montar el archivo img de Android en Linux?

Probé el unyaffs, dijo broken img file.
Intento montarlos, funciona muy bien en system.img, y puedo obtener el archivo dentro.

Cuando quiero montar userdata.img por mount -o loop userdata.img /mnt/userdata (el mismo que system.img), me dice mount: you must specify the filesystem type así que trato de la mount -t ext2 -o loop userdata.img /mnt/userdata, dijo mount: wrong fs type, bad option, bad superblock on...

Por lo tanto, la forma de obtener el archivo desde el interior de userdata.img ?

+0

He intentado otro sistema de archivos, devuelve el mismo error. – FrankDeng

+0

system.img: datos del sistema de archivos Linux rev 1.0 ext4, UUID = 57f8f4bc-abf4-0000-675f-946fc0f9f25b (necesita recuperación de diario) (extensiones) (archivos grandes) – FrankDeng

+0

userdata.img: datos – FrankDeng

Respuesta

24

ver la respuesta en: http://omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files

primero que necesita para "descomprimir" userdata.img con simg2img, a continuación, se puede montar a través del dispositivo de bucle.

+0

He encontrado que la página tiene todo lo necesario: (incluida la fuente lista para ser compilada). Trabajé en las imágenes de Nexus 4. http://forum.xda-developers.com/showthread.php?t=1081239 – genetix

+0

Respuesta perfecta. – benchuk

2

En el sistema de archivos Android, "system.img" y "userdata.img" son ejecutables VMS Alpha. "system.img" y "userdata.img" tienen los contenidos de/system y/data directory en el sistema de archivos raíz. Están mapeados en dispositivos NAND con el sistema de archivos yaffs2. Ahora, el archivo de imagen de yaffs2 no se puede montar en la PC de Linux. Si puedes, tal vez tienes una rom que no está empaquetada en el sistema de archivos yaffs2. Puede comprobar los archivos ROM de ejecutar el comando:

file <system.img/userdata.img> 

Si se muestra "VMS Alfa ejecutable", entonces usted puede utilizar "unyaffs" para extraerlo.

+0

Posiblemente cierto para dispositivos Samsung, pero no para dispositivos Nexus. – Mikel

+0

Escriba 'adb shell mount' para verificar qué sistemas de archivos el dispositivo Android piensa que estos archivos .img son: Perdí el tiempo tratando de separar una imagen ext4 ... –

16

He encontrado una solución sencilla: http://andwise.net/?p=403

Cita

Esto es para todos los que quiere descomprimir y modificar el system.img original que se puede flashear el uso de recuperación.

system.img (lo que obtienes de las imágenes de fábrica de Google, por ejemplo) representa un sistema de archivos montado en bucle ext4 espaciado.

Está montado en/system de su dispositivo. Tenga en cuenta que este tutorial es para el sistema de archivos ext4, puede tener una imagen del sistema que es yaffs2, por ejemplo.

la forma en que está montado sobre el Galaxy Nexus:

“/dev/block/platform/omap/omap_hsmmc.0/by-name/system/sistema ext4 ro, relatime, barrera = 1, = datos ordenados 0 0 " Requisitos:

máquina Linux o virtual máquina simg2img, make_ext4fs binarios que se pueden descargar de aquí http://andwise.net/?attachment_id=406

Procedimiento:

lugar que system.img y t él 2 binarios en un directorio, y asegúrese de que los binarios tienen permiso de ejecutivo. Parte 1 - montar el sistema de archivos

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

Entonces usted tiene toda la partición del sistema en mouned ‘SYS’ y se puede modificar lo que quieras en ‘sys’. Por ejemplo, de-odex apks y framework jar. Parte 2: crea una nueva imagen del sistema que se puede flashear.

sudo -s ./make_ext4fs -l -a 512M sistema new.img sys/ sudo umount sys rm -fr sys

Ahora sólo tiene que escribir:

fastboot new.img sistema de flash

+3

'simg2img' (y' make_ext4fs') también está disponible en 'android -tools-fsutils' en Debian y Ubuntu. – Mikel

+0

Hola, utilizando este método, he encontrado un error que dice "Formato de archivo disperso no válido en el encabezado magi Error al leer el archivo disperso" – Lysdexia

0

Otra opción sería utilizar el Explorador de archivos en DDMS (Eclipse SDK), puede ver todo el sistema de archivos allí y descargar/cargar archivos en el lugar deseado. De esta forma, no tiene que montar y tratar con imágenes. Solo recuerde configurar su dispositivo como depurable por USB (desde Developer Tools)

-1

He encontrado que la montura Furius ISO funciona mejor para mí. Estoy usando una distro Knoppix basada en Debian. Lo uso para abrir archivos system.img todo el tiempo.

Furius ISO montaje: https://packages.debian.org/sid/otherosfs/furiusisomount

"Cuando quiero montar userdata.img por mount -o loop userdata.img/mnt/datos de usuario (el mismo que system.img), que le dice a montarme: Debe especifique el tipo de sistema de archivos así que pruebo mount -t ext2 -o loop userdata.img/mnt/userdata, dijo mount: tipo de fs incorrecto, mala opción, superblock malo en ...

Entonces, cómo obtener el archivo desde el interior de userdata.img? " Para cargar .img archivos que tienes para seleccionar y cargar el bucle .imgSelect loop

A continuación, seleccione Montar Select mount

Furius ISO Mount maneja todas las otras opciones de cargar el archivo .img en su/home/dir.

Cuestiones relacionadas