23.05.2018

Update von LineageOS 14.1 auf 15.1

Wie kürzlich versprochen wollte ich auch noch darüber berichten, ob das zerstörungsfreie Update von LineageOS 14.1 auf 15.1 funktioniert. Meine erste Probeinstallation von 15.1 auf dem Nexus 6 mit der Spiderman-App war eine komplette Neuinstallation, verbunden mit Löschen des Geräts. Mein eigenes Handy (seit April ein Moto Z von 2016) wollte ich aber ungern löschen und komplett neu einrichten. Es ist sehr lästig, in jeder App dann wieder die Anmeldung durchzuführen, den Google-Authenticator für die Zweifaktor-Authentisierung für alle Konten neu einzurichten usw. Wäre also schön, wenn das Update einfach so funktioniert ;-)

Spoiler: es funktioniert.

Es gibt einen wichtigen Punkt zu beachten, den ich letztes Jahr noch nicht kannte, als ich eine Zeitlang nach dem Niedergang von Cyanogen Inc. auf dem damaligen Nexus 5 statt CM für einige Monate das "nackte" Android aus dem AOSP-Projekt verwendete.

Damals hatte ich nach jedem Flashen eines Updates das Problem, dass die Google-Apps nicht mehr richtig funktionierten und z.B. dauernd die "Play Services" beendet werden, und auch einige andere Dinge merkwürdige Fehlermeldungen zeigten. Ich bin dann jedesmal wieder den steinigen Weg gegangen und habe komplett neu beispielt, also "wipe data" und Flashen von Android und Google-Apps.

Der simple Trick ist, dass man nach dem Flashen des Android-Pakets auch sofort die Google-Apps flashen muss. Beim Neustart des Geräts mit einer neuen Androidversion werden den Google-Apps spezielle Systemberechtigungen erteilt. Allerdings nur beim allerersten Neustart nach dem Flashen, danach nicht mehr. Wenn man also ein neues Android alleine flasht und bootet, hat man sich gerade die Google-Apps zerschossen. Diesen Trick hat mir ein freundlicher Kommentator bei XDA verraten.

Dieses Problem tritt bei "kleinen Updates" nicht auf, die man innerhalb von LineageOS mit dem eingebauten Updater durchführt, das war letztes Jahr mit dem AOSP-Android anders. Mit LineageOS kann man unbesorgt updaten. Es ist aber ratsam, in den Einstellungen des Updaters alte Updates automatisch löschen zu lassen, sonst ist irgendwann die Systempartition voll.

Wenn man das berücksichtigt, ist der Übergang von Nougat auf Oreo süß und schmerzfrei. Was man bei einem älteren Gerät allerdings nicht bekommt, ist das Update der Androidsoftware im Hintergrund bei laufendem Betrieb - "Project Treble" bekommt man nur mit Neugeräten, die vom Hersteller mit Oreo ausgeliefert werden und die Partitionierung des Speichers schon vorsieht, dass man zwei Betriebssystempartitionen hat - eine zum Booten und die zweite zum Umschalten nach einem Update.

Was mich im Licht der aktuellen Debatte um Sicherheitslücken in Prozessorhardware etwas beunruhigt: die Kernelversion ist hier bei 3.18, kompiliert wird mit einem gcc 4.9, der die derzeit notwendigen Workarounds für Spectre und Meltdown sicherlich nicht enthält. Die Baureihe 4.9 hat das letzte Update im August 2016 bekommen. Diese Sicherheitslücken sind zwar Presseberichten zufolge nur kritisch für Serverbetreiber, die keine Kontrolle über die virtuellen Maschinen von Kunden haben (z.B. ein Cloudbetreiber wie Amazon oder IBM), aber der Angriffsvektor ist bei einem Smartphone mit strikter Trennung der Apps durch Unix-Rechte natürlich genauso gegeben: eine App, die eine solche Lücke ausnutzen kann, ist in der Lage, "fremden" Speicher zu belauschen, der einer anderen App gehört, und dort könnte ein Private Key oder ein Zugangspasswort zum electronic banking zu stehlen sein.

Alt: Nougat 7.1.2, April 2018   Neu: Oreo 8.1, Mai 2018