LineageOS 14.1, 15.1, 16.0, 17.1, 18.1 auf Samsung Galaxy S5 (SM-G900F, klte) installieren

Seit es für mein (gebraucht bei Amazon Warehouse Deals erworbenes) Samsung Galaxy S5 und das darauf installierte von Samsung angepasste Android 6.0.1 keine offiziellen Sicherheitsupdates mehr gibt, recherchierte ich nach Möglichkeiten des Updates auf ein sogenanntes Custom ROM, in diesem Falle LineageOS (vormals CyanogenMod).

Jetzt habe ich es "gewagt" und will das hier dokumentieren. Denn ich musste erfahren, dass viele bisherige Tutorials dafür lückenhaft, teils falsch oder auch einfach nur schlecht geschrieben sind. Es ist also ein weiterer Versuch einer halbwegs verständlichen Erklärung (auf Deutsch) für einen an sich schon lange bekannten Vorgang.

Für das Updaten verwendete ich einen Windows-PC mit installiertem Windows 10, aktuelle Build 1703.

Vorbereitungen

  • Auf dem Smartphone ganz sicher prüfen, ob es wirklich die richtige Version klte ist durch Aufruf der Einstellungen / Geräteinformationen und dort Suche nach der Gerätebezeichnung. Alternativ oder zusätzlich kann man auch die App "CPU-Z" installieren und dort unter "Device" schauen, ob es wirklich ein SM-G900F ist.
  • Auf dem Smartphone unter Einstellungen / Smartphoneeinformationen: 7x tippen auf die Buildnummer, um den Entwicklermodus zu aktivieren
  • Auf dem Smartphone unter Einstellungen / Entwickleroptionen (nun sichtbar): USB-Debugging aktivieren
  • Auf dem Smartphone unter Einstellungen / Sicherheit / Reaktivierungssperre deaktivieren (ist meist schon korrekt)
  • Das Smartphone möglichst vollständig aufladen (für alle Fälle).
  • Backups durchführen für die wichtigsten App-Daten, z.B. (das Smartphone also so vorbereiten, dass es vollständig gelöscht werden kann!):
    • Zugangspunkte (APN) für Internet und MMS: alle Daten unter Einstellungen / Netzwerkverbindungen / Weitere Einstellungen / Mobile Netzwerke sorgfältig notieren
    • SMS-Kurznachrichtenzentrale (SMSC): vorsichtshalber diese Telefonnummer unter den Einstellungen der SMS-App suchen und notieren
    • Kontakte: Einstellungen / Kontakte importieren/exportieren als .vcf-Datei, auf SD-Card ablegen
    • SMS: Mit der App SMS Backup&Restore (Carbonite) auf SD-Card exportieren
    • Threema: Meine Backups: ID-Backup + PDF-Ausdruck des Barcodes für das spätere Zurücklesen des Backups erstellen; Daten-Backup erstellen, auf SD-Card ablegen
    • Whatsapp: auf Google Drive sichern oder die letzte (automatisch oder manuell erzeugte) Backup-Datei auf SD-Card kopieren
    • und evtl. andere wichtige Daten manuell sichern, speziell im Verzeichnis "data" des internen Speichers (siehe auch unten "excluding storage" beim Backup mit TWRP)

  • Auf dem PC die später benötigten Software-Pakete in ihrer jeweils aktuellsten Version downloaden:
    • Samsung USB Treiber (hier verwendet: Version 1.5.51.0)
    • ODIN (hier verwendet: Version 3.12.3), Flash-Software (Wichtiger Hinweis 1: Bitte nicht irgendwo anders downloaden, es gibt auch irgendwelche inoffiziellen Versionen; Wichtiger Hinweis 2: Die mehrmals als Alternative beschriebene Software Heimdall funktioniert nicht in Kombination mit dem Samsung Galaxy S5 (SM-G900F, klte), das habe ich schmerzlich und zeitraubend erarbeiten müssen!!!)
    • TWRP für Samsung Galaxy S5 (SM-G900F, klte) (hier verwendet: Version 3.1.0-1), alternative Recovery Software
    • Magisk als .zip-Datei (hier verwendet: Version 16.4, enthält auch den Magisk Manager; abVersion 22.0: .apk-Datei downloaden und in .zip umbenennen!), Root-Software
    • LineageOS 14.1 für Samsung Galaxy S5 (SM-G900F, klte), Build vom 13.9.2017 entspricht z.B. Android-Version 7.1.2
    • Open Gapps (hier verwendet: Version arm-7.1-nano-20170918), Zusammenstellung von benötigten Google-Apps, hier als Version "nano" (Vergleich der Pakete), siehe aber auch unten das Kapitel zu Android Auto!

  • Auf das Smartphone via USB-Anschluss auf die externe SD-Card die .zip-Dateien von Magisk, LineageOS, Open Gapps oder MindTheGapps legen

  • Auf dem PC den USB-Treiber installieren und vorsichtshalber den PC danach neu starten
  • Auf dem PC einen Ordner anlegen und da hinein ODIN legen sowie die TWRP-.tar-Datei

 

TWRP installieren und Root-Zugriff freischalten

ACHTUNG: Alles, was jetzt kommt, führt zum Erlöschen der Garantie. Für mich auch überraschend: Bereits mit dem Austausch der Recovery-Software erlischt die Garantie und der sogen. KNOX-Counter zählt unwiderruflich hoch und wird später auch angezeigt als "KNOX Warranty VOID 0x1 (2) recovery".

Mein ursprünglicher Plan war, Lineage ohne Root-Zugriff zu installieren. Dies wird in einigen Tutorials auch als funktionierend beschrieben. Im Hinblick darauf, dass bereits das Installieren des TWRP zum Verlust der Garantie führt (und eine neue Recovery-Software braucht man unbedingt) hielt ich dann den Root-Zugriff nicht mehr für schlimm. Als ich dann dennoch die Installation ohne Root-Zugriff probierte, merkte ich, dass TWRP stets immer wieder überschrieben wird durch die originale Samsung Stock ROM. Vermutlich liegt dies am Bootloader, der immer noch "locked" ist. Ein "unlocking" des Bootloaders bei meinem S5 (SM-G900F, klte) ist nach meiner Kenntnis grundsätzlich nicht möglich (ohne Root-Zugriff).

Ein Unlock des Bootloaders ist mir also trotz mehrere Versuche z.B. mit adb (aus den Android SDK Tools) nicht gelungen und es gibt speziell für das Samsung Galaxy S5 (SM-G900F, klte, kltexx) keine richtige Anleitung dafür.

Die nun folgenden Schritte sind:

  • Smartphone ausschalten
  • Smartphone (noch nicht mit dem PC verbunden) im sogenannten "Download-Mode" starten: gleichzeitig drücken Volume-Down (1) + Home (2) + Power (3), das Smartphone startet mit einer Warnmeldung, diese mit Volume-Up bestätigen zum Weitermachen
  • Smartphone jetzt an den PC anschließen
  • ODIN starten und prüfen, dass im Listenfeld links ein "Added" steht als Bestätigung, dass das Smartphone erkannt ist; zusätzlich erscheint oben links ein grün/blaues Feld (wenn dies nicht erfolgreich ist, liegt ein Problem mit dem USB-Zugriff vor)
  • in ODIN im Feld "AP" die TWRP-.tar-Datei auswählen
  • unter "Options" ausschließlich "F.Reset Time" aktiviert lassen, auch "Auto-Reboot" deaktivieren
  • das Flashen des TWRP starten
  • Erfolgsmeldung abwarten; auf dem Smartphone läuft ein blauer Fortschritts-Balken
  • Nach dem Ende sofort(!) in den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3), das Smartphone startet nun mit der gerade geflashten TWRP-Software (hätte man erst das normale System gestartet, wäre diese gleich wieder von der ursprünglichen Recovery-Software überschrieben worden)
  • Die Frage beim Start von TWRP nach dem Root-Zugriff ablehnen!
  • "Install" wählen und dort die externe SD-Card als Storage auswählen und dort die Magisk-.zip-Datei auswählen.
  • Installieren
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Dort in das (immer noch alte 6.0.1er) System booten
  • Start dauert lange, 1x Boot-Loop, danach oben am Rand der Hinweis (ab jetzt immer!) "Set Warranty Bit: kernel", danach langer System-Start mit Optimierung der Apps (vermutlich wegen dem neu erkanntem Rootzugriff)

 

Wir haben jetzt ein Smartphone mit neuer Recovery-Software (TWRP) und auch mit möglichem Root-Zugriff (Magisk) und bestenfalls läuft das ursprüngliche System wie bisher. Jetzt ist die letzte Möglichkeit, eventuelle Einstellungen zu checken oder noch Daten zu sichern.

 

LineageOS sowie die Gapps installieren

Die nächsten Schritte sind nun das Löschen des alten Systems (mit Root-Zugriff in der TWRP-Recovery-Software) und das Aufspielen des neuen Android-Systems und das unmittelbare Installieren des "Nano"-Minimalsatzes von Google-Apps:

  • Smartphone ausschalten
  • In den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3)
  • "Backup" wählen und Backup der Partitionen "Modem", "Boot", "System", "Data" (excluding storage - Warnung: enthält keine Daten aus internem Speicher wie Bilder oder Downloads) auf externe SD-Karte (ca. 7 GB Datenvolumen bei mir, dauerte ca. 10 Minuten)
  • Jetzt das System löschen mit "Wipe" und dann "Advanced Wipe": die Partitionen "Cache", "System" und "Data" löschen und dazu "Swipe to Wipe" wischen.
  • Zurück ins Hauptmenü
  • "Install" wählen und dort die externe SD-Card als Storage auswählen und dort die .zip-Dateien von Lineage und auch hier direkt von Gapps wählen, beides wird unmittelbar nacheinander installiert.
  • Installieren
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Dort in das (jetzt neue 7.1.2er) System booten
  • Längerer erster Start, Geduld!

 

Wir haben nun ein praktisch brandneues, sauberes Android 7.1.2, ohne Bloatware und nur mit dem absoluten Minimum an Google-Apps.

Es folgen nun die üblichen Einrichtungsaktivitäten, die für gewöhnlich viel länger dauern als das Update des Systems. Insbesondere werden alle o.g. einzeln erzeugten Daten-Updates zurückgespielt und nötige weitere Apps installiert. Sicherlich gäbe es hier Arbeitserleichterungen und Tools, die ich aber leider nicht kenne.

Mein erstes Gefühl ist, dass das System sehr flott läuft. Teilweise sogar etwas flotter als 6.0.1. Vor allem die Systemstarts sind sehr deutlich schneller, ich schätze ca. 3 Mal schneller. Einige Dinge sind ungewohnt und beim Konfigurieren des Startbildschirms gab es Fehler mit doppelt übereinander liegenden Widgets. Dies ließ sich aber lösen. Es wird sich nun in der nächsten Zeit zeigen, ob dieses System-Update eine gute Idee war!

In Aussicht sind Sicherheits- und Feature-Updates in regelmäßigen Abständen, teilweise sogar wöchentlich. Das wären dann Welten gegen den Update-Rythmus von Samsung, der ja teilweise mehrere Monate Abstand hatte. Ich bin sehr gespannt, ob das reibungslos klappt.

 

Nachbereitungen

USB-PC-Transfer: Wenn das Smartphone am PC angeschlossen ist, Taskleiste (leider jedes Mal) nach unten ziehen und in dem USB-Fenster als Option "Dateien übertragen" wählen. Danach sollte der interne Speicher und die SD-Card zum Zugriff bereitstehen. Ansonsten ggf. im Gerätemanager schauen, unter welchem Treiber das Gerät angesprochen wird und evtl. Treiber deinstallieren oder austauschen.

SMS-Kurznachrichtenzentrale (SMSC) erneut einrichten: Bei mir funktionierte nach dem Update der SMS-Versand und auch der SMS-Empfang nicht mehr. Dies lag daran, dass in den Einstellungen irgendwie / von irgendwas das SMSC gelöscht wurde. Die Einstellung dazu ist sehr versteckt und extrem benutzerunfreundlich wiederherstellbar:

  • Auf dem Telefon als "Nummer" wählen: *#*#4636#*#*
  • "Telefoninformationen" wählen
  • etwas weiter unten in das sehr kurze Eingabe-Feld bei "SMSC" eintragen als "+491710760000",145 (also Nummer der SMSC des jeweiligen Mobilfunkanbieters (mit +49, ohne führende Null) in Anführungszeichen, ohne Freizeichen, dahinter stets ,145)
  • Dann "Aktualisierung" (in Englisch ursprünglich "Update") klicken und dann "Aktualisieren" (in Englisch ursprünglich "Refresh") (wirklich schlecht übersetzt...)
  • Verlässt man diese Informationsseite und betritt sie wieder, ist das Feld bei "SMSC" wieder leer...
  • Danach Neustart, durchgeführt und dann ging es plötzlich...

Kontakte: Bei den Kontakten gibt es ja mehrere Varianten der Speicherung. D.h. einmal im Telefon oder auf der SIM-Karte oder aber im Google-Konto für eine Synchronisation. Leider ist es dabei so, dass die Kontakte die nur auf dem Telefon oder der SIM-Karte gespeichert werden sollen, in ihrer Funktion (bewusst) beschnitten sind. Nur wenn man Kontakte neu für das Google-Konto anlegt (oder direkt im Google-Konto anlegt oder dort importiert) gibt es z.B. ein Datenfeld für den Geburtstag des Kontakts. Sonst fehlt dies und es gibt auch keine Möglichkeit, es manuell zu ergänzen. Google will uns also zwingen, die Kontakte zu sunchronisieren... Diese beschnittene Funktion hat nichts mit einer fehlenden Google-App zu tun. Es lässt sich auch nur mit entsprechenden zusätzlichen Apps von Drittanbietern beheben.
Um die in den Google-Kontakten eingetragenen Geburtstag auch direkt in den Kalender zu übernehmen, legt man einen Kalender "Geburtstage" an, was mir nur online im Google-Konto gelang bzw. war er dort bereits automatisch angelegt. Wenn dies nicht der Fall ist, kann man ihn unter "Weitere Kalender" auswählen und hinzufügen. Diesen Geburtstags-Kalender kann man auch dann mit synchronisieren lassen.

 

Magisk Manager

Mit der zuvor installierten Magisk-Datei ist der Root-Zugriff aktiviert. Im Magisk Manager kann man unterschiedliche Eigenschaften festlegen, auch für jede App separat, der man Root-Rechte geben will oder nicht. Man kann dort auch den Root-Zugriff deaktivieren, was für den täglichen Gebrauch sehr zu empfehlen ist. Dies erfolgt also mehr unter Einstellungen / Entwickleroptionen!

 

System-Updates

Aktuell (Stand September 2017) kommen Systemupdates als OTA (Over The Air) wöchentlich, oft am Mittwoch abend. Die Installation dieser Updates ist sehr einfach:

  • In Einstellungen / Über das Telefon / LineageOS-Updates nach Updates suchen (oder die Updates werden bereits oben in der Startleiste mit einem kleinen Handy-Symbol angekündigt)
  • Das Update downloaden lassen, es sind aktuell ca. 316 MB
  • Nach Ende des Downloads die Installation mit einem Klick auf das Handy-Symbol rechts neben dem jeweiligen Update starten
  • Es erscheint ein Hinweis, dass nun ins Recovery gebootet und dann installiert wird, dazu braucht man natürlich ein kompatibles Recovery, was wir mit dem TWRP haben
  • Im Recovery-Modus (bei mir ist die aktuell neueste Version 3.2.1-0 von TWRP installiert) startet die Update-Installation vollautomatisch und es wird danach auch automatisch neu gestartet, man muss nichts tun (und hat auch keine Möglichkeit dazu)
  • Der erste Neustart dauert relativ lange, bei mir ca. 3 Minuten.
  • Nach dem Neustart steht das System wieder voll zur Verfügung.

 

Gapps-Updates (Open Gapps oder MindTheGapps)

Mit den System-Updates von LineageOS werden (natürlich) die OpenGapps nicht mit aktualisiert. Es ist eine gute Idee, dies ab und zu durchzuführen. Die Gapps haben dafür auch Mechanismen für eine Updateinstallation, d.h. es werden die vorherigen Versionen der jeweiligen Apps entfernt. Die meisten dieser Core-Apps lassen sich ja nicht über den Playstore aktualisieren.

  • Gapps downloaden, es gibt dazu auch eine Version-Textdatei in diesem Verzeichnis bei Github ODER die MindTheGapps downloaden
  • Heruntergeladene Zip-Datei auf der SD-Card des Smartphones im Hauptverzeichnis abspeichern
  • Smartphone ausschalten
  • In den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3)
  • "Install" wählen und dort die externe SD-Card als Storage auswählen und dort die .zip-Dateien der Gapps wählen
  • Installieren
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Smartphone neu starten (dauerte bei mir so lange wie nach einem Systemupdate)

 

TWRP-Recovery-Update

Die bei der ersten Installation verwendete Version 3.1.0-1 ist aus dem April 2017. Nun kam nach 5 Monaten die neue Version 3.1.1-0 mit Fehlerbehebungen und Anpassung an (bei mir ja laufende) Android 7.1.2.

Zum Update geht man wie folgt vor:

  • TWRP für Samsung Galaxy S5 (SM-G900F, klte) neu downloaden
  • Die entpackte Datei "recovery.img" auf die SD-Card des Smartphone kopieren
  • Ins Recovery booten (siehe oben)
  • Dort "Install" wählen und die Datei "recovery.img" auswählen. Dafür unten den Button "Install img" wählen, weil TWRP eigentlich eine .zip-Datei erwartet. Dann taucht die .img-Datei endlich auf.
  • Als Partition (natürlich) "Recovery" wählen und keinesfalls "Boot".
  • "Swipe to Flash"
  • Die Installation geht blitzschnell.
  • Neu starten, entweder ins Recovery (gedrückte Volume-Up + Home) zum Prüfen oder gleich ins System (ohne Tasten)

 

Upgrade auf LineageOS 15.1

Seit 9.7.2018 gibt es für das SM-G900F (klte) die erste Version des neuen Systems 15.1, welches Android 8.1 entspricht. Das Upgrade wird zwar via OTA, d.h. im normalen Update-Bereich des Systems 14.1 angeboten, muss aber manuell installiert werden. Zum Upgrade gibt es zwei offizielle Anleitungen, nach denen ich vorgegangen bin: LineageOS-Blog, Changelog 16 sowie das LineageOS Wiki.

Zum Upgrade geht man wie folgt vor:

  • Auf dem Smartphone ganz sicher prüfen, ob es wirklich die richtige Version klte ist durch Aufruf der Einstellungen / Geräteinformationen und dort Suche nach der Gerätebezeichnung. Alternativ oder zusätzlich kann man auch die App "CPU-Z" installieren und dort unter "Device" schauen, ob es wirklich ein SM-G900F ist.
  • Das Smartphone möglichst vollständig aufladen (für alle Fälle).
  • Backups durchführen (bei meinem Upgrade blieben (fast) alle Daten erhalten, lediglich die Mail-Accounts in der Mail-App sind weg)
  • Auf dem PC die später benötigten Software-Pakete downloaden:
  • Auf das Smartphone via USB-Anschluss auf die externe SD-Card die .zip-Dateien von LineageOS, Gapps, Magisk legen

  • Smartphone ausschalten
  • In den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3)
  • in TWRP im Hauptmenü evtl. unter "Backup" Backups der System-Partition durchführen
  • in TWRP im Hauptmenü unter "Wipe" hier "Advanced Wipe" wählen und (nur!) die Partitionen "Dalvik", "System" und "Cache" löschen/wipen
  • in TWRP im Hauptmenü unter "Install" auf der externen SD-Card die Zip-Datei von LineageOS 15.1 wählen
  • hier gleich den Menüpunkt zum Ergänzen weiterer Zip-Dateien wählen und dort auf der externen SD-Card die Zip-Datei der MindTheGapps und anschließend die Zip-Datei von Magisk wählen
  • Installieren in dieser Reihenfolge, d.h. also Abarbeitenlassen des erstellten Stapels
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Smartphone neu starten (dauerte bei mir relativ lange)

Nach dem Neustart stand bei mir das neue System LineageOS 15.1 bzw. Android 8.1 zur Verfügung, alle Apps und auch deren Daten (außer, wie oben erwähnt, die Mail-Accounts)! Gefühlt verbraucht das Smartphone weniger Energie, d.h. das Akku hält etwas länger. Ebenfalls gefühlt ist das System etwas langsamer als 7.1.2.

Mit der installierten Systemversion vom 9.7.2018 ist man auf dem Sicherheitspatch-Stand vom 5.7.2018!

 

Android Auto

Seit einigen Jahren ist es möglich, ein Smartphone mit dem Infotainment-System eines Autos zu koppeln. Dabei wird das Display des Smartphone (leicht modifiert) auf dem Display des Infotainment-Systems "gespiegelt". So bekommt man dann Smartphone-Funktion in das Infotainment-System, solange die jeweilige App dafür geeignet ist. Dies klappt z.B. mit Google Maps oder Waze oder anderen Apps.

Mit LineageOS gibt es damit immer wieder Probleme, auf die ich vor kurzem auch stieß. Nach Installation der nötigen Basis-App "Android Auto" kommen beim ersten Start Meldungen wie "Google Play-Dienste scheint momentan nicht zu funktionieren" bzw. "Google Play Services doesn't seem to be working right now". Danach stürzt die App ab. Eine Kopplung im Auto funktioniert auch nicht.

Nach längerem Recherchieren und Rumprobieren konnte ich das Problem identifizieren: Es liegt nicht etwa am LineageOS, sondern vielmehr an den häufig verwendeten Open Gapps (siehe auch oben...). Diese werden zwar häufig aktualisiert, weisen verschiedenste Vorteile auf und sind auch ansonsten eine gute Wahl. Nur funktioniert damit leider kein Android Auto...!

Die OpenGapps kann man aufgrund der sehr engen Verzahnung der Gapps mit LineageOS nicht einfach ersetzen oder deinstallieren. Man muss das LineageOS neu installieren und in diesem Schritt (wie oben auch beschrieben) unmittelbar mit (andere) Gapps installieren. Weiterhin ist es für eine erfolgreiche Kopplung mit dem Auto-Infotainment-System nötig, das Smartphone einerseits mit einem USB-Kabel an das Infotainment-System anzuschließen und andererseits gleichzeitig auch eine Kopplung mittels Bluetooth durchzuführen. Danach hat man ein wunderbar funktionierendes System im Auto, auch mit LineageOS.

Die Schritte dafür (ausgehend von LineageOS 15.1 mit den Open Gapps) sind:

  • Das Smartphone möglichst vollständig aufladen (für alle Fälle).
  • (vorsichtshalber) Backups durchführen
  • Auf dem PC die später benötigten Software-Pakete downloaden:
  • Auf das Smartphone via USB-Anschluss auf die externe SD-Card die .zip-Dateien von LineageOS, MindTheGapps, Magisk legen

  • Smartphone ausschalten
  • In den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3)
  • in TWRP im Hauptmenü evtl. unter "Backup" Backups der System-Partition durchführen
  • in TWRP im Hauptmenü unter "Wipe" hier "Advanced Wipe" wählen und (nur!) die Partitionen "Dalvik", "System" und "Cache" löschen/wipen
  • in TWRP im Hauptmenü unter "Install" auf der externen SD-Card die Zip-Datei von LineageOS 15.1 wählen
  • hier gleich den Menüpunkt zum Ergänzen weiterer Zip-Dateien wählen und dort auf der externen SD-Card die Zip-Datei der MindTheGapps und anschließend die Zip-Datei von Magisk wählen
  • Installieren in dieser Reihenfolge, d.h. also Abarbeitenlassen des erstellten Stapels
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Smartphone neu starten
  • Nach dem Neustart der bald kommenden Aufforderung zum Aktualisieren der Google Play-Dienste nachkommen, dies ist (nun) problemlos möglich
  • Android Auto testweise starten, was nun gelingen sollte und die ersten Schritte durchlaufen
  • ggf. Google Maps und/oder Waze installieren
  • am Smartphone GPS und Bluetooth aktivieren
  • im Auto im Infotainment-System die Kopplung des Smartphones mittels Bluetooth durchführen UND das Smartphone mittels USB-Kabel an das Infotainment-System anschließen
  • anschließend im Infotainment-System Android Auto starten, falls dies nicht sowieso schon automatisch passierte. Jeweils den angezeigten Aufforderungen im Infotainment-System und auf dem Smartphone folgen. Auch der gleichzeitige Betrieb von Musik (Radio, USB-Stick etc.) und der Android Auto-App (z.B. Google Maps) ist möglich.

 

Upgrade auf LineageOS 16.0 (oder Neuinstallation)

Seit 1.3.2019 gibt es für das SM-G900F (klte) die erste Version des neuen Systems 16.0, welches Android 9 entspricht. Das Upgrade wird zwar via OTA, d.h. im normalen Update-Bereich des Systems 15.1 angeboten, muss aber manuell installiert werden (deswegen steht dort auch nur "Information"). Zum Upgrade gibt es zwei offizielle Anleitungen, nach denen ich vorgegangen bin: LineageOS-Blog, Changelog 22 sowie eine offizielle Anleitung für das SM-G900F (klte). Das hier beschriebene Upgrade ist von Version 15.1 auf 16.0. Ob ein Upgrade von 14.1 auf 16.0 möglich und sinnvoll ist, kann ich nicht sagen.

Update: Ein Upgrade von 15.1 auf 16.0 kann ich nur noch bedingt empfehlen. Im konkreten Falle wurde vor längerer Zeit eine Neuinstallation mit LineageOS 14.1 vorgenommen, die dann auf 15.1 (ohne "Factory Reset" bzw. frische Neuinstallation) upgegradet wurde. Dieses neue System 15.1 lief prima und es gab praktisch keine erkennbaren Probleme. Mit dem erneuten Upgrade von 15.1 auf 16.0 (erneut ohne "Factory Reset" bzw. frische Neuinstallation) hatte ich aber dann doch das (nicht näher bestimmbare) Gefühl, dass das System nicht sauber läuft. Dann kam es zu merkwürdigen Fehlern, dass man z.B. nur noch mit Lautsprecher telefonieren kann, wenn man den Gegenüber hören wollte.

Daher entschloss ich mich zu einer "sauberen" Neuinstallation von LineageOS 16.0, und nahm damit in Kauf, dass sämtliche Daten (außer auf der SD-Karte natürlich) und Einstellungen gelöscht werden. Ich beschreibe hier dieses Vorgehen, ausgehend von einem bereits laufenden LineageOS 15.1 und natürlich vorhandenem TWRP. Dies macht alles einfacher:

  • Auf dem Smartphone ganz sicher prüfen, ob es wirklich die richtige Version klte ist durch Aufruf der Einstellungen / Geräteinformationen und dort Suche nach der Gerätebezeichnung. Alternativ oder zusätzlich kann man auch die App "CPU-Z" installieren und dort unter "Device" schauen, ob es wirklich ein SM-G900F ist.
  • Das Smartphone möglichst vollständig aufladen (für alle Fälle).
  • Backups durchführen (Achtung: Es verschwinden bei der Neuinstallation wirklich alle Zugangspunkte (APN), Apps und deren Daten (SMS, Whatsapp, Threema, Mails) und alle App-Einstellungen!!!)
  • Auf dem PC die benötigten Software-Pakete downloaden:
  • Auf das Smartphone via USB-Anschluss auf die externe SD-Card die .zip-Dateien von LineageOS, MindTheGapps, Magisk legen

  • Smartphone ausschalten
  • In den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3)
  • in TWRP im Hauptmenü evtl. unter "Backup" Backups der System-Partition durchführen
  • in TWRP im Hauptmenü "Wipe" wählen und "Format Data". Damit wird die interne Datenpartition neu formatiert, wodurch auch eine evtl. vorhandene Verrschlüsselung aufgelöst wird.
  • im vorherigen Menü nun "Advanced Wipe" wählen und dort als Partitionen (nur!) "System" und "Cache" auswählen und diese "wipen"
  • in TWRP im Hauptmenü nun unter "Install" auf der externen SD-Card die Zip-Datei von LineageOS 16 wählen
  • hier gleich den Menüpunkt zum Ergänzen weiterer Zip-Dateien wählen und dort auf der externen SD-Card die Zip-Datei der MindTheGapps und anschließend die Zip-Datei von Magisk wählen
  • Installieren in dieser Reihenfolge, d.h. also Abarbeitenlassen des erstellten Stapels
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Smartphone neu starten (dauerte bei mir relativ lange, also mehrer Minuten)

Nach dem Neustart erfolgt nun eine komplette Neuinstallation, d.h. der Google-Assistent startet und führt durch diverse Bildschirme. Danach muss sich mit seinem Netzwerk verbinden und man muss die benötigten Apps neu installieren.

Im Gegensatz zu dem zuvor laufenden Upgrade-16.0 sieht das Clean-16.0 etwas "anders" aus. Insbesondere funktioniert nun auch, dass an App-Icons ein Notifier-Punkt erscheint, wenn in der App eine neue Nachricht oder etwas ähnliches existiert. Dies war beim Upgrade nicht vorhanden. Die bisherigen Erfahrungen mit dem Clean-16.0 sind durchweg positiv. Das System läuft schnell und auch der interne Speicher ist nur gering belegt.

 

Für ein Upgrade (ohne "Factory Reset" bzw. frische Neuinstallation) von einer früheren LineageOS-Version geht man wie folgt vor:

  • Auf dem Smartphone ganz sicher prüfen, ob es wirklich die richtige Version klte ist durch Aufruf der Einstellungen / Geräteinformationen und dort Suche nach der Gerätebezeichnung. Alternativ oder zusätzlich kann man auch die App "CPU-Z" installieren und dort unter "Device" schauen, ob es wirklich ein SM-G900F ist.
  • Das Smartphone möglichst vollständig aufladen (für alle Fälle).
  • Backups durchführen (bei meinem Upgrade blieben (fast) alle Daten erhalten, lediglich die Mail-Accounts in der Mail-App sind weg)
  • Auf dem PC die später benötigten Software-Pakete downloaden:
  • Auf das Smartphone via USB-Anschluss auf die externe SD-Card die .zip-Dateien von LineageOS, MindTheGapps, Magisk legen

  • Smartphone ausschalten
  • In den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3)
  • in TWRP im Hauptmenü evtl. unter "Backup" Backups der System-Partition durchführen
  • in TWRP im Hauptmenü unter "Wipe" hier "Advanced Wipe" wählen und (nur!) die Partitionen "Dalvik", "System" und "Cache" löschen/wipen
  • in TWRP im Hauptmenü unter "Install" auf der externen SD-Card die Zip-Datei von LineageOS 16 wählen
  • hier gleich den Menüpunkt zum Ergänzen weiterer Zip-Dateien wählen und dort auf der externen SD-Card die Zip-Datei der MindTheGapps und anschließend die Zip-Datei von Magisk wählen
  • Installieren in dieser Reihenfolge, d.h. also Abarbeitenlassen des erstellten Stapels
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Smartphone neu starten (dauerte bei mir relativ lange, also mehrer Minuten)

Nach dem Neustart stand bei mir das neue System LineageOS 16.0 bzw. Android 9 zur Verfügung, alle Apps und auch deren Daten.

An Datenverlusten musste ich nur einen Teil der Notfallinformationen (Notfallkontakte) und meine persönlichen Kontaktdaten ("Meine Daten") beklagen.

Mit Android 9 gibt es eine neue Einstellung "Privates DNS" unter Einstellungen / Netzwerk & Internet / Erweitert. Dort kann man den Hostnamen (nicht IP-Adresse!) eines DNS-Anbieters eintragen, der verschlüsseltes DNS anbietet. Dies ist eine sehr gute Idee, vor allem wenn man (zumindest zuhause) nicht bereits ein solches DNS-System laufen hat wie z.B. ein Pi-Hole. Ich lasse daher die Einstellung auf "Automatisch". Ansonsten kann man dort z.B. eintragen 1dot1dot1dot1.cloudflare-dns.com. Siehe bitte dazu diese Erläuterung vom Anbieter Cloudflare.

Es hat sich außerdem als günstig erwiesen, dass man die wichtigsten Apps nach dem Systemupgrade neu installiert. Achtung: Es gehen die App-Einstellungen und auch alle Daten innerhalb der App (insbesondere bei Whatsapp, Threema etc.) verloren!!! Dies erledigt man am besten im Play Store (Meine Apps / Installiert), wo man die App deinstallieren und gleich darauf wieder installieren kann. Die Neuinstallation ist sinnvoll, weil der Play Store bei der Installation der App die richtige Version der App für die jeweilige Android-Version installiert. Bei der vorigen Installation war dies ja noch Android 8.1 und man bekam dafür die App. Nun ist es Android 9 und wenn man neue Funktionen von Android 9 (z.B. Strom sparen, Berechtigungen u.a.) umfassend nutzen will, benötigt man die jeweilige (ggf. andere) Version der jeweiligen App.

 

Upgrade auf LineageOS 17.1 (Neuinstallation)

Seit 18.10.2020 gibt es für das SM-G900F (klte) die erste Version des neuen Systems 17.1, welches Android 10 bzw. Q entspricht. Das Upgrade wird zwar via OTA, d.h. im normalen Update-Bereich des Systems 16.0 angeboten, muss aber manuell installiert werden (deswegen steht dort auch nur "Information").

Wie schon bei dem Upgrade von 15.1 auf 16.0 kann ich nur empfehlen, ein sauberes Upgrade durchzuführen, d.h. auch die Daten zu löschen. Ich beschreibe hier dieses Vorgehen, ausgehend von einem bereits laufenden LineageOS 16.0 und natürlich vorhandenem TWRP, Version 3.4.0.0. Dies macht alles einfacher:

  • Auf dem Smartphone ganz sicher prüfen, ob es wirklich die richtige Version klte ist durch Aufruf der Einstellungen / Geräteinformationen und dort Suche nach der Gerätebezeichnung. Alternativ oder zusätzlich kann man auch die App "CPU-Z" installieren und dort unter "Device" schauen, ob es wirklich ein SM-G900F ist.
  • Das Smartphone möglichst vollständig aufladen (für alle Fälle).
  • Backups durchführen (Achtung: Es verschwinden bei der Neuinstallation wirklich alle Zugangspunkte (APN), Apps und deren Daten (SMS, Whatsapp, Threema, Mails) und alle App-Einstellungen!!!)
  • Auf dem PC die benötigten Software-Pakete downloaden:
    • Magisk als .zip-Datei (hier verwendet: Version 21.1, enthält auch den Magisk Manager; ab Version 22.0: .apk-Datei downloaden und in .zip umbenennen!), Root-Software
    • LineageOS 17.1 für Samsung Galaxy S5 (SM-G900F, klte), hier verwendet Build vom 22.11.2020 entspricht Android-Version 10
    • NikGapps (für 10.0.0, arm-Version, NICHT die arm64-Version) downloaden, hier verwendet Build vom 22.11.2020; höchst bedauerlicherweise gibt es bis jetzt keine Version der exzellenten MindTheGapps für Android 10. Die bekannten OpenGapps unterstützen bis jetzt kein Android Auto, was jedoch die relativ neuen NikGapps tun: Android Auto funktioniert mit den NikGapps problemlos.

  • Auf das Smartphone via USB-Anschluss auf die externe SD-Card die .zip-Dateien von LineageOS, NikGapps, Magisk legen

  • Smartphone ausschalten
  • In den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3)
  • in TWRP im Hauptmenü evtl. unter "Backup" Backups der System-Partition durchführen
  • in TWRP im Hauptmenü "Wipe" wählen und "Format Data". Damit wird die interne Datenpartition neu formatiert, wodurch auch eine evtl. vorhandene Verrschlüsselung aufgelöst wird.
  • im vorherigen Menü nun "Advanced Wipe" wählen und dort als Partitionen (nur!) "System" und "Cache" auswählen und diese "wipen"
  • in TWRP im Hauptmenü nun unter "Install" auf der externen SD-Card die Zip-Datei von LineageOS 17.1 wählen
  • hier gleich den Menüpunkt zum Ergänzen weiterer Zip-Dateien wählen und dort auf der externen SD-Card die Zip-Datei der NikGapps und anschließend die Zip-Datei von Magisk wählen
  • Installieren in dieser Reihenfolge, d.h. also Abarbeitenlassen des erstellten Stapels
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Smartphone neu starten (dauerte bei mir relativ lange, also mehrer Minuten)

Nach dem Neustart erfolgt nun eine komplette Neuinstallation, d.h. der Google-Assistent startet und führt durch diverse Bildschirme. Danach muss sich mit seinem Netzwerk verbinden und man muss die benötigten Apps neu installieren.

Im Magisk Manager muss man die Installation abschließen, hier wird man hindurch geführt und dann das Gerät neugestartet. Anschließend muss man noch in den Einstellungen das "MagiskHide" aktivieren, denn ohne das scheitert der Integritätscheck des "SafetyNet".

 

Upgrade auf LineageOS 18.1 (Neuinstallation)

Seit 25.4.2021 gibt es für das SM-G900F (klte) die erste Version des neuen Systems 18.1, welches Android 11 bzw. R entspricht. Das Upgrade wird zwar via OTA, d.h. im normalen Update-Bereich des Systems 17.1 angeboten, muss aber manuell installiert werden (deswegen steht dort auch nur "Information").

Hinweis: Im LineageOS Changelog 26, in dem auch LineageOS 19 behandelt wird, ist eine Information zu den "legacy devices", wie das Samsung Galaxy S5 eines ist. Geräte mit einem Linux Kernel 3.x werden wohl, aufgrund des Wechsels der kernelinternen Firewall von iptables auf eBPF, keine weiteren "großen" Updates mehr erhalten. Samsung Galaxy S5 (SM-G900F, klte) hat unter LineageOS 18.1 eine Linux Kernel Version 3.4.113, ist also definitiv betroffen. LineageOS 18.1 ist daher die letzte Version, die hier laufen wird und wird auch noch bis auf Weiteres mit offiziellen Updates versorgt (aktuell monatlich, jeweils am Ende des Monats).

Wie schon bei dem Upgrade von 16.0 auf 17.1 kann ich nur empfehlen, ein sauberes Upgrade durchzuführen, d.h. auch die Daten zu löschen. Ich beschreibe hier dieses Vorgehen, ausgehend von einem bereits laufenden LineageOS 17.1 und natürlich vorhandenem TWRP, Version 3.5.2_9-0. Dies macht alles einfacher:

  • Auf dem Smartphone ganz sicher prüfen, ob es wirklich die richtige Version klte ist durch Aufruf der Einstellungen / Geräteinformationen und dort Suche nach der Gerätebezeichnung. Alternativ oder zusätzlich kann man auch die App "CPU-Z" installieren und dort unter "Device" schauen, ob es wirklich ein SM-G900F ist.
  • Das Smartphone möglichst vollständig aufladen (für alle Fälle).
  • Backups durchführen (Achtung: Es verschwinden bei der Neuinstallation wirklich alle Zugangspunkte (APN), Apps und deren Daten (SMS, Whatsapp, Threema, Mails) und alle App-Einstellungen!!!)
  • Auf dem PC die benötigten Software-Pakete downloaden:
  • Auf das Smartphone via USB-Anschluss auf die externe SD-Card die .zip-Dateien von LineageOS, NikGapps, Magisk legen

  • Smartphone ausschalten
  • In den Recovery-Modus starten: gleichzeitig drücken Volume-Up (1) + Home (2) + Power (3)
  • in TWRP im Hauptmenü evtl. unter "Backup" Backups der System-Partition durchführen
  • in TWRP im Hauptmenü "Wipe" wählen und "Format Data". Damit wird die interne Datenpartition neu formatiert, wodurch auch eine evtl. vorhandene Verrschlüsselung aufgelöst wird.
  • im vorherigen Menü nun "Advanced Wipe" wählen und dort als Partitionen (nur!) "System" und "Cache" auswählen und diese "wipen"
  • in TWRP im Hauptmenü nun unter "Install" auf der externen SD-Card die Zip-Datei von LineageOS 18.1 wählen
  • hier gleich den Menüpunkt zum Ergänzen weiterer Zip-Dateien wählen und dort auf der externen SD-Card die Zip-Datei der NikGapps und anschließend die Zip-Datei von Magisk wählen
  • Installieren in dieser Reihenfolge, d.h. also Abarbeitenlassen des erstellten Stapels
  • Nach dem Ende der Installation "Wipe Cache/Dalvik" wählen und zurück ins Hauptmenü
  • Smartphone neu starten (dauerte bei mir relativ lange, also mehrer Minuten)

Nach dem Neustart erfolgt nun eine komplette Neuinstallation, d.h. der Google-Assistent startet und führt durch diverse Bildschirme. Danach muss sich mit seinem Netzwerk verbinden und man muss die benötigten Apps neu installieren.

Im Magisk Manager muss man die Installation abschließen, hier wird man hindurch geführt und dann das Gerät neugestartet. Anschließend muss man noch in den Einstellungen das "MagiskHide" aktivieren, denn ohne das scheitert der Integritätscheck des "SafetyNet".

Achtung: Seit Version 18.1 gibt es eine neue Option in den Einstellungen des OTA-Updaters zur Aktualisierung des LineageOS-Betriebssystems, die es erlaubt festzulegen, ob mit dem Systemupdate auch das Recoveryimage mit aktualisiert werden soll. Was auf den ersten Blick gut klingt, führt bei aktivierter Option dazu, dass das installierte TWRP mit dem LineageOS-Recoveryimage beim Update überschrieben wird. Daher sollte man die Option deaktivieren, wenn das TWRP bei LineageOS-OTA-Updates erhalten und nicht überschrieben werden soll.

Achtung: Seit Version 18.1 wird offenbar das GPS auf dem S5 (klte) nicht richtig installiert bzw. bei der Installation nicht korrekt aktiviert. Nach einigem Recherchieren habe ich einen Weg gefunden, das GPS wieder zu aktivieren. Dazu (also für den hier gezeigten Weg) muss das USB-Root-Debugging in den Entwickleroptionen aktiviert sein sowie auf dem PC die Android Platform Tools vorhanden sein, weil wir das Tool "adb" benötigen, um eine Datei im Systemverzeichnis zu holen und auch wieder dorthin zu schreiben:

  • In den Einstellungen unter System / Erweitert / Entwickleroptionen das USB-Debugging und das USB-Root-Debugging aktivieren
  • Für den PC (ich verwende Windows 10) die Android Platform Tools downloaden (ich verwende Version 33.0.3 (Aug 2022)) und dort in ein Verzeichnis entpacken und dieses Verzeichnis am besten auch in den Suchpfad des PC übernehmen
  • Das Smartphone via USB an den PC anschließen und USB-Dateiübertragung aktivieren
  • In der Windows-Powershell (diese "erweiterte Eingabeaufforderung" ist auf vielen PCs schon vorhanden und empfehlenswert, ggf. downloaden bei Github) in das entsprechende Verzeichins wechseln und dort eingeben:
    ./adb devices
  • Dort sollte nun eine Nummer auftauchen, die der Seriennummer des Smartphones entspricht, bei einer Fehlermeldung bitte prüfen, um o.g. Debugging aktiviert ist.
  • Dann weiter eingeben, zum Holen/Downloaden der Datei:
    ./adb pull /system/etc/gps.conf
  • Die Datei wird in das jeweils aktuelle Verzeichnis auf dem PC heruntergeladen und ist eine Textdatei mit Konfigurationen. Hier muss man nur wenige Dinge ändern bzw. auskommentieren (vor die Zeile ein "#") und neue Zeilen ergänzen.
  • Zuerst waren bei mir die Xtra-Server falsch, diese sind zu ersetzen bzw. auszukommentieren und einzufügen:
    XTRA_SERVER_1=​http://xtra1.­gpsonextra.net/​xtra.bin
    XTRA_SERVER_2=​http://xtra2.gpsonextra.net/​xtra.bin
    XTRA_SERVER_3=​http://xtra3.gpsonextra.net/​xtra.bin
  • Weiterhin den NTP-Server (Zeit-Server) ersetzen bzw. auskommentieren und einzufügen:
    NTP_SERVER=­0.pool.ntp.org
  • Etwas weiter unten in der Datei schon vorhandene Zeilen aktivieren, um den "SUPL SUPPORT" zu aktivieren, d.h. die GPS-Genauigkeit zu erhöhen mittels WLAN-Daten. Auch wenn man dies nie aktiviert bzw. wünscht, sollte man wohl (lt. meinen Recherchen) die Angabe hier nicht weglassen, um Fehlermeldungen zu vermeiden. D.h. hier aktivieren bzw. die "#" vor diesen Zeilen löschen bzw. einzufügen:
    SUPL_HOST=supl.google.com
    SUPL_PORT=7275
  • Der Rest der Datei stimmt (vermutlich). Nun die Datei abspeichern.
  • Nun müssen wir die Datei wieder zurück auf das Smartphone schreiben. Dafür in der Powershell eingeben:
    ./adb root
    ./adb remount
    ./adb push 'C:\<den-Pfad-zur-Datei-auf-dem-PC>\gps.conf' '/system/etc/'
    ./adb unroot
  • Danach das Smartphone vom USB trennen, das USB-Debugging deaktivieren und das Smartphone neu starten
  • Danach unter Einstellungen / Standort die Funktion aktivieren
  • Danach zum Testen die App "GPSTest" von BarbeauDev (oder eine ähnliche App zum Testen der GPS-Funktion bzw. der Satelliten) installieren und starten, natürlich am Besten unter freiem Himmel! Bei mir hat das GPS sofort funktioniert, bzw. nach einer kurzen Wartezeit von ca. 10 Sekunden waren schon mehrere Satelliten vorhanden. Nach ca. 1 min. hatte ich eine relativ genaue GPS-Position inkl. Höhenangabe.