Wie installiere ich LineageOS in TWRP mit „adb push“?

Frage (TL;DR)

Wie kann man (manuell) eine LineageOS-Zip-Datei von der Seite laden, die mit TWRP auf das Telefon übertragen wird?

Kontext

während der Installation mit dem folgenden Befehl :lineage-17.1-20210430-nightly-FP2-signed.zip

adb sideload lineage-17.1-20210430-nightly-FP2-signed.zip

Ich habe beobachtet, dass das LineageOS mehrere Stunden im Ladebildschirm hängt. Also habe ich zuerst überprüft, ob die zipDatei korrekt heruntergeladen wurde, indem ich den sha256 verwendet habe, der es ist. Als nächstes bemerkte ich, dass die Ursache sein könnte, dass die ZIP-Datei direkt vom Host zum Telefon gestreamt wird. Also habe ich gelernt, dass eine alternative Option die Verwendung sein könnte:

adb push lineage-17.1-20210430-nightly-FP2-signed.zip /sdcard/

Gefolgt von einem Befehl zum Seitenladen der ZIP-Datei vom Telefon.

adb-Sideload-Methode

Der Vollständigkeit halber adb sideload lineage-17.1-20210430-nightly-FP2-signed.zipwurde die direkte Ausführung mit den folgenden Schritten durchgeführt: Zuerst habe ich das System mit gelöscht Wipe>Advanced Wipe> select: Dalvik, System, Cache, Data, and swiping rightund dann den Sideload-Modus manuell aktiviert, indem ich gedrückt (und gewischt) hatte: Advanced>ADB Sideload>Swipe to Start Sideloadwas ausgegeben wurde:

Aktualisieren der Partitionsdetails... ... fertig RescueParty Vollständige SELinux-Unterstützung vorhanden MTP aktiviert ? ADB-Sideload-Funktion wird gestartet...

Hier wird beobachtet, dass der Ladeindikator ohne Fortschritt weiter lädt. Dies kann auch ein Grund dafür sein, dass das Sideload kein erfolgreiches Hochfahren von LineageOS ergibt.

Als nächstes habe ich versucht, ich habe zuerst den CLI-Ansatz ausprobiert:

adb sideload /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip

Welche Ausgänge:

Installieren der ZIP-Datei /sideload/package.zipUnmounten des Systems Warnung: no file_contexts Ziel: Fairphone/FP2/FP2:6.0.1/FP2-gms-18.04.01/FP2-gms-18.04.01:user/release-keys Systemabbild wird unbedingt gepatcht Skript erfolgreich: Ergebnis war [1.000000] Cache mit make_ext4fs formatieren... Cache & Dalvik löschen... Gesäubert: /data/dalvik-cache... -- Dalvik-Cache-Verzeichnisse gelöscht!

Und ich habe gedrückt Reboot System. Dies führt zum (scheinbar) endlosen Booten des Ladebildschirms von LineageOS.

ADB-Push-Methode

Bevor ich andere Builds für das FP2 ausprobierte, war ich hauptsächlich neugierig zu erfahren, wie das Sideloading mit adb push. Daher habe ich versucht:

adb push lineage-17.1-20210430-nightly-FP2-signed.zip /sdcard/

Und fing an, nach Möglichkeiten zu suchen, diese Zip-Datei vom Telefon zu laden. Das erste, was ich versucht habe, war, nachdem ich den Sideload-Modus manuell gestartet und mit dem Befehl überprüft hatte, dass sich das TWRP im Sideload-Modus befand adb devices:

adb sideload /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip

Was zurückgibt:

adb: Statistikdatei /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip konnte nicht erstellt werden: Keine solche Datei oder Verzeichnis

Als nächstes habe ich versucht, die TWRP-Optionen manuell zu erkunden. Eine der Optionen könnte möglicherweise sein: Install>browse to /sdcard> and tap the: lineage-17.1-20210430-nightly-FP2-signed.zip. Das ergibt jedoch eine Warnung:

This operation may install incompatible software and render your device unusable

Und ich denke, die Installation könnte etwas anderes als das Seitenladen sein, daher denke ich, dass dies das Gerät blockieren könnte / nicht das ist, wonach ich suche.

Notiz

Hier geht es nicht darum, xy-problemLineageOS auf dem Fairphone booten zu lassen, sondern darum, LineageOS mit TWRP vom Telefon statt vom Host zu laden.

Ihr Kommentar hat das xy-Problem gelöst. Von TWRP habe ich es zuerst versucht adb reboot fastbootund fastboot format userdatawas eine Reihe von Fehlern ergab, beginnend mit: Couldn't parse erase-block-size '0x'.. Dann in TWRP neu gestartet und ein Format von: Dalvik, System, Cache, Datathen adb sideload ..zip, dann gedrückt back>Wipe>swiped formatund dann neu gestartet, und dann hat LineageOS tatsächlich korrekt gebootet! Ich habe (noch) nicht abgeleitet, ob es das Format oder das Löschen von data(nicht Benutzerdaten) in TWRP nach dem Seitenladen von LineageOS war, das den Fehler behoben hat. In den Anweisungen wird das anschließende Löschen von Daten nicht erwähnt.
Ja, aus Gründen der Klarheit/Vollständigkeit muss dies vor dem Seitenladen von LineageOS erfolgen , was ich bereits getan habe, was zu dem Fehler führte. Ihr Vorschlag war, dies nach dem Seitenladen von LineageOS zu tun , was ich ursprünglich nicht getan habe, und nachdem ich es getan habe (zusammen mit fastboot format userdata), wurde das Problem behoben. Daher halte ich es für richtig, darauf hinzuweisen, dass die Empfehlung, Benutzerdaten nach dem Seitenladen von LineageOS zu entfernen, nicht in den Anweisungen enthalten ist, auf die Sie verlinken. Während es nach meiner Erfahrung und Ihrem Kommentar wichtig/wesentlich erscheint.
Die Reihenfolge spielt keine Rolle, außer Sie installieren zip aus dem internen Speicher. weil /sdcard bind mount von /data/media/0 ist (und daher gelöscht wird, wenn userdata formatiert wird)

Antworten (1)

Um nur die Überschrift zu beantworten:

Es können nur Blockpartitions-Images geflasht werden adb push

  • Zip-Datei extrahieren

  • Konvertieren Sie eine Sparse-Datei in ein Partitions-Image

    brotli --decompress --in system.new.dat.br --out system.new.dat
    python sdat2img.py system.transfer.list system.new.dat system.img
    
  • Flash-Partitions-Images von adb in der TWRP-Wiederherstellung

    adb push boot.img /dev/block/platform/msm_sdcc.1/by-name/boot
    adb push system.img /dev/block/platform/msm_sdcc.1/by-name/system
    

Vergessen Sie nicht, die gesamten Benutzerdaten auf die Werkseinstellungen zurückzusetzen / zu formatieren

  • kann von erfolgenadb shell

    adb shell
    mke2fs -t ext4 /dev/block/platform/msm_sdcc.1/by-name/cache
    mke2fs -t ext4 /dev/block/platform/msm_sdcc.1/by-name/userdata
    

Weitere alternative Methoden zur manuellen Installation von OTA flashable zip.
Ist es möglich, ein benutzerdefiniertes ROM ohne ein benutzerdefiniertes Wiederherstellungsabbild zu flashen?

Können Sie vielleicht erklären, warum das Zurücksetzen auf die Werkseinstellungen erforderlich ist, nachdem Sie die Bilder auf das Gerät übertragen haben? Oder teilen Sie eine Quelle, die dies bespricht?