46 Stimmen

Wie mountet man die Android img Datei unter Linux?

Seit kurzem interessiere ich mich für die Android-Rom, ich möchte sie ändern und neu aufbauen.
Ich habe also einige Tests auf meinem XOOM gemacht, es ist sehr einfach, etwas in das Gerät zu flashen.
Ich habe ein ROM von MOTOROLA ( http://developer.motorola.com/products/software/ ), es sind einige img-Dateien, und ich möchte wissen, was drin ist, ich hoffe, dass ich sie entpacken kann.

Ich habe die unyaffs hieß es broken img file .
Wenn ich versuche, sie zu mounten, klappt das bei der system.img wunderbar, und ich kann die Datei darin abrufen.

Wenn ich userdata.img mounten möchte, indem ich mount -o loop userdata.img /mnt/userdata (dasselbe wie system.img ), sagt es mir mount: you must specify the filesystem type also versuche ich die mount -t ext2 -o loop userdata.img /mnt/userdata hieß es mount: wrong fs type, bad option, bad superblock on...

Wie bekommt man also die Datei aus dem Inneren von userdata.img ?

41voto

Lajos Molnar Punkte 450

Siehe die Antwort unter: http://omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files

Zuerst müssen Sie "dekomprimieren". userdata.img con simg2img dann können Sie es über die Schlaufenvorrichtung montieren.

30voto

Aksel Fatih Punkte 1339

Ich habe eine einfache Lösung gefunden: http://andwise.net/?p=403

Zitat

(mit leichten Anpassungen zur besseren Lesbarkeit)


Dies ist für alle, die das Original auspacken und verändern wollen system.img die Sie mit rec system.img (die Sie z.B. von Google Factory Images erhalten) stellt eine spärliche ext4 Es wird eingehängt in /System Ihres Geräts. Beachten Sie, dass diese Anleitung für das Dateisystem ext4 gilt. Sie können ein System-Image haben, das zum Beispiel yaffs2 ist.

So wie es auf dem Galaxy Nexus montiert ist:

/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro,relatime,barrier=1,data=ordered 0 0

Voraussetzungen:

  • Linux-Box oder virtuelle Maschine
  • simg2img und make_ext4fs Binärdateien, die aus dem Linux-Paket heruntergeladen werden können Android-tools-fsutils

Verfahren:

Platzieren Sie Ihr system.img und die 2 Binärdateien in einem Verzeichnis und stellen Sie sicher, dass die Binärdateien die Berechtigung exec haben.

Teil 1 - Einhängen des Dateisystems

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

Dann haben Sie Ihre Systempartition in 'sys/' gemountet und können in 'sys/' alles ändern, was Sie wollen. Zum Beispiel de-odex apks und framework jars.

Teil 2 - Erstellen eines neuen flashbaren Systemabbilds

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

Jetzt können Sie einfach tippen:

fastboot flash system new.img

2voto

binhgreat Punkte 744

Im Android-Dateisystem sind "system.img" und "userdata.img" ausführbare VMS-Alpha-Dateien. "system.img" und "userdata.img" haben den Inhalt der Verzeichnisse /system und /data im Root-Dateisystem. Sie sind auf NAND-Geräten mit dem yaffs2-Dateisystem abgebildet. Nun kann die yaffs2-Image-Datei nicht auf einem Linux-PC gemountet werden. Wenn das der Fall ist, haben Sie vielleicht ein ROM, das nicht im yaffs2-Dateisystem gepackt ist. Sie können diese Rom-Dateien überprüfen, indem Sie den Befehl ausführen:

file <system.img/userdata.img>

Wenn es "VMS Alpha executable" anzeigt, können Sie es mit "unyaffs" entpacken.

0voto

Stefan Malacu Punkte 223

Eine andere Möglichkeit wäre die Verwendung des Datei-Explorers in DDMS (Eclipse SDK), dort können Sie das gesamte Dateisystem einsehen und Dateien an die gewünschte Stelle herunterladen/hochladen. Auf diese Weise müssen Sie nicht mounten und mit Bildern umgehen. Vergessen Sie nicht, Ihr Gerät als USB-debuggable einzustellen (über die Developer Tools).

-2voto

Amador Mendez Punkte 1

Ich habe festgestellt, dass die Furius ISO-Halterung für mich am besten funktioniert. Ich verwende eine auf Debian basierende Distro Knoppix. Ich verwende dies zum Öffnen system.img die ganze Zeit über Dateien.

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

"Wenn ich userdata.img mit mount -o loop userdata.img /mnt/userdata (das gleiche wie system.img) mounten will, sagt es mir mount: you must specify the filesystem type, also versuche ich mount -t ext2 -o loop userdata.img /mnt/userdata, es sagt mount: wrong fs type, bad option, bad superblock on...

Wie bekomme ich also die Datei aus dem Inneren von userdata.img? Zum Laden .img Dateien müssen Sie die Schleife auswählen und die .img Schleife auswählen

Als nächstes wählen Sie mount Halterung auswählen

Die Furius-ISO-Halterung übernimmt alle anderen Optionen zum Laden des .img Datei in Ihr /home/dir.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X