Anleitung: Manuelles OTA-Update

PC295

PC295

Erfahrenes Mitglied
Threadstarter
Hallo,

diese Anleitung wendet sich an alle User die nach Root oder Systemmodifikationen Probleme bei der Aktualisierung haben.

Unter bestimmten Umständen kann es vorkommen, dass die automatische Systemaktualisierung fehlschlägt,
auch dann wenn das originale Boot-Image über Magisk wiederhergestellt wurde.

Daher hier eine Anleitung, mit der die Aktualisierung in diesen Fall ohne Datenverlust funktioniert.

Ihr benötigt:
- Minimal ADB and Fastboot (Portable)
- das aktuelle OTA Update
- Payload Dumper

Bei den verlinkten OTA-Updates handelt es sich um vollständige Updatepakete, daher sind sie wesentlich größer, als in der Aktualisierungsbenachrichtigung angezeigt.

Eure aktuelle Versionsnummer findet ihr in den Einstellungen -> System -> Über das Telefon -> Build-Nummer
Bsp.: OPM1.171019.019.V9.6.9.0.ODLMIFF

Anleitung:

1. Zuerst entpacken wir unsere Downloads
- Minimal ADB and Fastboot
- OTA Update
- Payload Dumper

2. Im OTA-Update findet ihr eine Datei payload.bin. Diese Datei kopiert ihr in den Ordner payload_input im Ordner des Payload Dumpers.
Startet die Anwendung payload_dumper.exe um die Images aus der payload.bin zu extrahieren.
Ihr findet sie dann im Ordner payload_output

3. Kopiert die extrahierten Image-Dateien aus dem payload_output-Ordner in den entpackten Ordner von Minimal ADB and Fastboot

4. Verbindet das Smartphone mit dem PC. In den Entwickleroptionen muss "USB-Debugging" aktiviert sein.

5. Im Ordner Minimal ADB and Fastboot findet ihr cmd_here.exe, damit startet ihr die Console und könnt nun mit folgenden Befehlen arbeiten:

Prüft ob das Smartphone erkannt wird:
Code:
adb devices
Es sollte eine Seriennummer erscheinen

Startet das Smartphone in den Fastboot-Modus:
Code:
adb reboot bootloader
Sieht so aus

Das Mi A2 Lite verwendet eine A/B-Partitionierung, dass heisst, das System befindet sich als zweites Abbild auf einer weiteren Partition.
Auf welcher Partition (A oder B-Slot) euer System gerade aktiv ist, könnt ihr mit folgenden Befehl prüfen:

Code:
fastboot getvar current-slot
Das ist wichtig zu wissen, wenn es Probleme bei der Aktualisierung gibt. Dann könnt ihr einfach auf den anderen ungepatchten Slot wechseln:

Code:
fastboot set_active a
bzw.
Code:
fastboot set_active b
6. Nun zur Aktualisierung:

Die folgenden Befehle werden die Systemaktualisierung auf dem aktiven Slot durchführen

Code:
fastboot flash devcfg devcfg.img
fastboot flash dsp dsp.img
fastboot flash modem modem.img
fastboot flash rpm rpm.img
fastboot flash tz tz.img
fastboot flash keymaster keymaster.img
fastboot flash cmnlib64 cmnlib64.img
fastboot flash cmnlib cmnlib.img
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot flash mdtp mdtp.img
fastboot flash aboot aboot.img
fastboot flash sbl1 sbl1.img
Ihr müsst jede Zeile einzeln in das Console-Fenster kopieren.
Oder ihr kopiert den kompletten Code in ein Textdokument (Editor) und speichert es als flash.bat
(Im Speichern-Dialog bei "Dateityp" auf "Alle Dateien (*.*)" wechseln)
Die .bat-Datei kommt nun in das Minimal ADB and Fastboot-Verzeichnis und kann dort ausgeführt werden.

Wenn Ihr gezielt SLOT_A patchen wollt sieht das Skript so aus:
Code:
fastboot flash devcfg_a devcfg.img
fastboot flash dsp_a dsp.img
fastboot flash modem_a modem.img
fastboot flash rpm_a rpm.img
fastboot flash tz_a tz.img
fastboot flash keymaster_a keymaster.img
fastboot flash cmnlib64_a cmnlib64.img
fastboot flash cmnlib_a cmnlib.img
fastboot flash boot_a boot.img
fastboot flash system_a system.img
fastboot flash vendor_a vendor.img
fastboot flash mdtp_a mdtp.img
fastboot flash aboot_a aboot.img
fastboot flash sbl1_a sbl1.img

Wenn Ihr gezielt SLOT_B patchen wollt sieht das Skript so aus:
Code:
fastboot flash devcfg_b devcfg.img
fastboot flash dsp_b dsp.img
fastboot flash modem_b modem.img
fastboot flash rpm_b rpm.img
fastboot flash tz_b tz.img
fastboot flash keymaster_b keymaster.img
fastboot flash cmnlib64_b cmnlib64.img
fastboot flash cmnlib_b cmnlib.img
fastboot flash boot_b boot.img
fastboot flash system_b system.img
fastboot flash vendor_b vendor.img
fastboot flash mdtp_b mdtp.img
fastboot flash aboot_b aboot.img
fastboot flash sbl1_b sbl1.img

Wichtig:
Nun benötigt ihr eine, für die neue Version, gepatchte boot.img die ihr noch flashen müsst.

Die findet ihr hier: XDA-Forum | [GUIDE] Install Magisk with proper support for OTA updates

a) Die Datei patched_boot.img in das Minimal ADB and Fastboot-Verzeichnis kopieren und folgenden Befehl in der Console ausführen:

Code:
fastboot boot patched_boot.img
Das Smartphone startet automatisch neu.
Öffnet die Magisk Manager App -> Installieren -> Installieren -> "Direkt installieren (empfohlen)"
Startet das Smartphone danach neu.
Danach habt ihr ein aktuelles und immernoch gerootetes System.

b) Falls im XDA-Forum noch keine aktualisierte gepatchte boot.img vorhanden ist, könnt ihr es selbst mit der Magisk Manager App machen.
Kopiert dazu die originale boot.img aus dem payload_output-Ordner auf das Smartphone (z.B. in den Download-Ordner).
Startet Magisk -> Installieren -> Installieren -> "Boot Image patchen" -> boot.img auswählen.
Danach findet ihr im Download-Ordner die gepatchte Datei patched_boot.img. Die kopiert ihr zurück auf den PC, in das Minimal ADB and Fastboot-Verzeichnis und folgt 6. a) dieser Anleitung.

Grüße
PC295
 
F

fresha

Fortgeschrittenes Mitglied
Interessant und gute Anleitung. Ich hatte auch immer das Problem, dass die Aktualisierung nicht funktionierte und ich das Smartphone komplett neu flashen musste.
Bis ich dann gelesen hatte das Adaway, mit der modifikation der "host" Datei, daran schuld ist, dass OTA nicht funktioniert.
Nachdem ich dann anstatt Adaway das Modul "AdGuardDNS" über Magisk installiert hatte, um Werbung zu blocken, und ich der Anweisung bei xda folgte um das OTA Update installieren zu können, klappte es dieses mal dann.
Wobei man aber durch die Funktion "systemless Host" im Magisk trotzdem Adaway wieder nutzen kann, um Werbung zu blocken und die Möglichkeit OTA Updates installieren zu können.
 
M

merlol

Neues Mitglied
Wegen Root und anderen modifikationen wurde mir das OTA verweigert.
Dank dieser Anleitung konnte ich jetzt trotzdem die aktuellste Version installieren.
Hat ganz wunderbar funktioniert. Vielen dank dafür :)
 
205er

205er

Fortgeschrittenes Mitglied
fresha schrieb:
Bis ich dann gelesen hatte das Adaway, mit der modifikation der "host" Datei, daran schuld ist, dass OTA nicht funktioniert.
Das kann ich nicht bestätigen!
Adaway funktioniert hier ausgezeichnet und stört OTA-Updates keineswegs. Hierzu habe ich im Magisk Manager aber auch die Option "Systemless hosts" aktiviert!
 
L

Lohenstein

Erfahrenes Mitglied
Ich bekomme bei diesen beiden File folgende Meldung;
Code:
fastboot flash system system.img
fastboot flash vendor vendor.img

Invalid sparse file format at header magic
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von Fulano - Grund: Befehlszeilen / Code mit Tag versehen. Gruß Fulano
L

Lohenstein

Erfahrenes Mitglied
Nützt irgendiw nix. Die Dateinamen und Endung ist korrekt
Diese meldung kommt auch nur bei den beiden obgenannten Dateien.

Mittlerweile geht gar nix mehr. Das Handy bleibt beim "Strich" hängen!
Hat noch jemand eine Idee?
Code:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash system system.img
target reported max download size of 534773760 bytes
Invalid sparse file format at header magi
sending sparse 'system' 1/5 (467397 KB)...
OKAY [ 11.892s]
writing 'system' 1/5...
OKAY [  6.354s]
sending sparse 'system' 2/5 (522237 KB)...
OKAY [ 13.532s]
writing 'system' 2/5...
OKAY [  4.498s]
sending sparse 'system' 3/5 (522237 KB)...
OKAY [ 13.738s]
writing 'system' 3/5...
OKAY [ 10.122s]
sending sparse 'system' 4/5 (514694 KB)...
OKAY [ 13.141s]
writing 'system' 4/5...
OKAY [  6.076s]
sending sparse 'system' 5/5 (170280 KB)...
OKAY [  4.267s]
writing 'system' 5/5...
OKAY [ 26.750s]
finished. total time: 110.376s
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von Fulano - Grund: Befehlszeilen / Code mit Tag versehen. Gruß Fulano
PC295

PC295

Erfahrenes Mitglied
Threadstarter
Das hat ja jetzt geklappt.
Die Fehlermeldung "Invalid sparse file format at header magi" ist normal und kann ignoriert werden.
 
Max Mustermann

Max Mustermann

Experte
Schon jemand getestet ob es mit der neuen 9.0 funktioniert?
 
L

Lohenstein

Erfahrenes Mitglied
Es funktioniert einfach nicht!
Was bedeutet bitte folgend Meldung wenn ich
Code:
--adb devices-- im cmd eingebe?
Code:
C:\WINDOWS\system32>adb devices
List of devices attached
adb server version (39) doesn't match this client (40); killing...
* daemon started successfully
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von Fulano - Grund: Befehlszeilen / Code mit Tag versehen. Gruß Fulano
Max Mustermann

Max Mustermann

Experte
hab nun alles geflasht und mit der gepatchen boot.img neugestartet...das heißt eigentlich...es ist seit einer viertel Stunde dabei, neuzustarten :1f612:

Edit: Da nichts mehr passierte habe ich es aus und wieder eingeschaltet, aber es bootet einfach nicht mehr. Kommt nur ein weißer Screen mit einer Animation.
 
Zuletzt bearbeitet:
J

jochenf

Erfahrenes Mitglied
Habe ich auch, vermute er will Magisk Module laden und k*** dabei ab.

Da TWRP ja auch nicht geht also keine Chance diese zu deaktivieren, da kein Zugriff auf /data.

Super...
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von Fulano - Grund: Fäkalwort mit K mit * versehen. Gruß Fulano
Max Mustermann

Max Mustermann

Experte
Wollte schon alles nochmal flashen, aber im Fastboot bekam ich plötzlich die gleiche Meldung wie Lohenstein.
Als ich dann einfach nochmal aus und eingeschaltet habe, bootete es dann doch noch, natürlich ohne root. Also einfach ein paar mal probieren, dann geht es.
Dann nochmal mit der patched_boot.img gestartet und es bootete wieder nicht!
Ich bekomme ich es nur normal gebootet, die patched boot geht einfach nicht!
Hab noch eine andere gefunden, geht auch nicht.
 
Zuletzt bearbeitet:
J

jochenf

Erfahrenes Mitglied
Du kannst leider nehmen was du willst, selbst wenn du selber dein boot.img patchst wird es nicht starten...
 
Max Mustermann

Max Mustermann

Experte
@jochenf
Zum Glück hast du unrecht! ;)
Nehmt mal diese, die hat bei mir jetzt funktioniert!
 
J

jochenf

Erfahrenes Mitglied
Habe ich leider schon, wie alle anderen im xda auch...
 
Max Mustermann

Max Mustermann

Experte
und warum ging es dann bei mir?
Läuft alles und ist definitiv gerootet!
 
Max Mustermann

Max Mustermann

Experte
Beim ersten mal scheint nix zu klappen, das A2 lite ist sehr störrig.
Nicht aufgeben, immer wieder versuchen, zwischendurch mal PC neustarten und Phone ausschalten.
 
Oben Unten