Boot.img flashen ohne Fastboot USB zu verwenden

Also habe ich kürzlich mein Telefon gerootet und ein oder zwei ROMs ausprobiert. Ich finde es sehr praktisch, dass Sie mit TWRP Recovery ein anderes ROM von der SD-Karte installieren können, Sie müssen es nicht an einen PC anschließen.

Auf meinem Gerät (HTC One S) muss ich jedoch auch für jedes ROM eine andere boot.img-Datei flashen, sodass ich mein Telefon immer noch an meinen PC anschließen muss, um die ROMs zu wechseln. Wenn ich das nicht mache, bleibt es einfach im Ladebildschirm hängen. Dann muss ich den Befehl verwenden

fastboot flash boot boot.img

aus dem Ordner, in dem sich boot.img befindet.

Ist es möglich, dieses Boot-Image mit TWRP oder auf andere Weise zu flashen, ohne Fastboot über USB zu verwenden?

Antworten (3)

Was getan werden muss, ist, das boot.img zu bündeln und eine neue ZIP-Datei zu erstellen, die zum Flashen über ClockworkMod oder TWRP geeignet ist.

Voraussetzungen :

  • eine Linux-Umgebung, in der die üblichen Entwicklungspakete wie Java installiert sind. ( Es kann auch für andere Plattformen gelten, seien Sie nur vorsichtig, dass die Anweisungen hier, die den unten verwendeten Pfad angeben, einen Schrägstrich verwenden /, drehen Sie ihn also um, um einen umgekehrten Schrägstrich zu erhalten \, insbesondere für die Windows-Umgebung! )
  • adb-Befehlszeilentool installiert.
  • `testsign.jar'- Tool zum Signieren der ZIP-Datei, damit die Wiederherstellung authentifizieren und überprüfen kann, ob es sich um ein gültiges Archiv handelt, andernfalls wird die Wiederherstellung ein beschädigtes Archiv oder ähnliches melden.
  • update-binaryBefehlszeilenanwendung , die intern für die Verwendung mit dem flashbaren Skript ist. (Dies kann mit jedem flashbaren Zip gefunden werden, das Wichtigste ist, diese Binärdatei zu extrahieren und wie gezeigt in der Struktur des Verzeichnisses abzulegen)
  • zip-Befehlszeilentool.

Angenommen, Ihr Verzeichnis heißt workdir , nennen wir dies zur Diskussion das Arbeitsverzeichnis, kopieren Sie die boot.imgin dieses Verzeichnis und erstellen Sie die folgende Verzeichnisstruktur - META-INF/com/google/android, das ist wichtig! Kopieren Sie innerhalb der META-INF/com/google/android, die aufgerufene Binäranwendung update-binaryin dieses Verzeichnis. Die Verzeichnisstruktur sollte also so aussehen:

+ workdir/
     +
     |
     +--+ boot.img
     |
     |
     +--+ META-INF/
              +
              |
              +--+ com/
                    +
                    |
                    +--+ google/
                           +
                           |
                           +--+ android/
                                   +
                                   |
                                   +--> update-binary
                                   |
                                   +--> updater-script

Kopieren Sie für updater-scriptdie folgenden Inhalte:

ui_print("Please wait, boot.img being flashed...");
show_progress(0.1, 0);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
       write_raw_image("/tmp/boot.img", "boot"),
       delete("/tmp/boot.img"));
show_progress(0.1, 10);
ui_print("It is now safe to reboot! :)");

Denken Sie daran: Lassen Sie sich hier nicht verwirren, das Updater-Skript, wie gezeigt, sollte in Ruhe und unverändert bleiben, also versuchen Sie nicht, den Schrägstrich in einen umgekehrten Schrägstrich umzuwandeln, wenn Sie dies in einer Windows-Umgebung tun.

Gehen Sie zurück zum übergeordneten Verzeichnis der Verzeichnisstruktur, dh außerhalb von workdir , und tun Sie Folgendes, wir erstellen daraus eine ZIP-Datei:

zip -r my_custom_flashable_boot_unsigned.zip workdir/Dies ist eine rekursive Funktion, die alles in die Datei namens my_custom_flashable_boot_unsigned.zip komprimiert .

Um die ZIP-Datei schließlich zu signieren, geben Sie Folgendes aus:

java -classpath testsign.jar testsign my_custom_flashable_boot_unsigned.zip my_custom_flashable_boot_signed.zip

Dann geht es darum, das über die SD-Karte zu schieben wie in adb push my_custom_flashable_boot_signed.zip /sdcard/und manuell in die Wiederherstellung zu gehen und das Zip-Archiv (dh my_custom_flashable_boot_signed.zip ) anzugeben, in dem es das Flashen für Sie durchführen wird.

Schön, ich mag es, Sachen selbst zu erstellen, also ausgezeichnete Anleitungen. Es ist kein Punkt, dass ich dafür meinen Computer brauche, weil ich einfach flashbare Boot-Zips für alle meine ROMs in einem Ordner meiner SD-Karte bekommen kann, was zu der Situation führen wird, die ich wollte.

Wenn Sie die flash_imageBinärdatei haben, können Sie sie über den Terminalemulator auf dem Gerät ausführen (Flash-Boot, dann den Rest mithilfe der Wiederherstellung).

Syntax:flash_image boot /sdcard/boot.img

Zeit für Eigenwerbung

Ich habe eine App, die eine GUI für die Binärdatei bereitstellt. Hier finden Sie es .

Wenn Sie diese Binärdatei nicht haben, können Sie sie installieren (Google it - Sie müssen sie herunterladen und dann in den /system/binOrdner kopieren.

Dies funktioniert nicht auf allen Geräten, aber es ist die einzige Möglichkeit, die mir in den Sinn kommt.

Wenn ich das richtig verstehe, ist der Terminalemulator nur eine normale App, die Sie ausführen, während Ihr Telefon im normalen Modus hochgefahren wird? Wird es keine Probleme beim Flashen des Bootens geben, während das Betriebssystem läuft?
@MarioDeSchaepmeester Das Telefon verwendet nur Boot, während es bootet;)
Musste es ablehnen, da flash_imageeine Anforderung zum Kopieren und Aufrufen vom Mobilteil mithilfe von adb shell, Dokumentation ( darf ich hinzufügen, Sie haben den Link nicht bereitgestellt!) verlangt, die SD-Karte mit gesetztem Exec-Bit (* schlechte Idee ) und erneut zu mounten erfordert root dh su, außerdem ist die "Eigenwerbung" in Bezug auf Ihre App in Euro, wo ich herkomme, 6,09 Euro, was teuer ist ... Fastboot ist die Norm, CM hat seine eigenen schrulligen Wege , - was ist anders bei fastbootund flash_image?
Auch die Binärdatei kann ohne Computer verwendet werden.

Ist es möglich, dieses Boot-Image mit TWRP [...] zu flashen?

Benennen Sie die Datei boot.emmc.win um und legen Sie sie in TWRP/BACKUPS/(Neuen Ordner erstellen) ab. Stellen Sie das Backup aus dem üblichen TWRP-Menü wieder her