Alte Smartphone-Hardware mit Android 13: mein Weg zum Custom ROM
Seit drei Monaten ist ein günstiges, vier Zoll kleines Smartphone mein täglicher Begleiter. In ihm steckt ein alter Prozessor von 2018 und es läuft mit Android 11. Genauer gesagt, lief es bis vor kurzem damit. Denn ich habe es erfolgreich auf Android 13 aktualisiert.
Ich wollte ein möglichst kleines Smartphone. Weil es das kaum noch gibt, habe ich mir ein günstiges neues mit alter Hardware gekauft. Und das macht mich bis anhin glücklich. Dank meines Nutzerverhaltens komme ich sogar mit wenig Power klar – in ihm steckt ein MediaTek Helio P22 von 2018. Aber eine Sache störte mich beim KingKong Mini 2 Pro gewaltig. Hersteller Cubot liefert es nur mit Android 11 aus und stellt keine Updates auf eine neuere Version in Aussicht. Ich will jedoch die 13. Auflage von Googles Betriebssystem.
In diesem Artikel geht es um Custom ROMs und was an Vorbereitungs- und Installationsaufwand nötig ist, um diese auf ein Smartphone mit Stock Android zu bringen. Bei Custom ROMs handelt es sich um modifizierte Versionen des von Google entwickelten freien Android-Betriebssystems, die einem alten Smartphone neues Leben einhauchen können.
Falls du mehr über mein Zwergenphone und den anfänglichen Kampf mit seiner kleinen Tastatur erfahren möchtest, liest du die Vorgeschichte in folgendem Beitrag.
Achtung: Garantieverlust und Zeitaufwand
Installierst du auf einem PC oder Notebook ein anderes Betriebssystem als vorinstalliert, wirst du seine Garantie nicht verlieren. Das ist bei den meisten Android-Smartphones anders. Denn du musst, damit du überhaupt ein alternatives OS installieren kannst, den Bootloader entsperren. Der Bootloader ist dafür verantwortlich, dass beim Starten des Geräts das Betriebssystem in den Arbeitsspeicher geladen wird. Mit dem Entsperren wird die Beschränkung aufgehoben, dass nur Software des Smartphone-Herstellers läuft. Jedoch führt das Entsperren bei den meisten Phones zu einem teilweisen oder kompletten Garantieverlust.
Den Garantieverlust kann ich bei meinem Smartphone, das mich inklusive Versand nur 96 Franken / Euro gekostet hat, verschmerzen. Ansonsten ist der Griff zu einer alternativen, manuell zu installierenden Android-Version insbesondere für ältere Geräte empfehlenswert, die bereits keine (Sicherheits-)Updates mehr erhalten. Ganz generell solltest du für solch ein Vorhaben Geduld sowie Zeit mitbringen und damit rechnen, dass auch was schiefgehen kann.
Im schlimmsten Fall wirst du das Smartphone nicht mehr verwenden können. Im besten Fall hast du auf Anhieb Spass und jubelst nach erfolgreicher Installation. Mit etwas Einlesen und guter Vorbereitung ist das Aufspielen eines Custom ROMs kein Ding der Unmöglichkeit. Hast du den Willen und die Lust dazu, wirst du es (vermutlich) schaffen.
Passende Custom ROMs finden
Meine erste und oft beste Anlaufstelle für Fragen rund um alternative ROMs für Android ist das Forum der XDA-Developers. Die Entwickler-Community stellt dort unter anderem etliche Custom ROMs für spezifische Smartphones zur Verfügung. Hätte ich beispielsweise ein Pixel 5 zur Hand, gibt es dafür ein eigenes Unterforum und zu diesem Gerät passende alternative Android-Versionen.
Im Internet findest du für etliche Smartphones angepasste Android-ROMs. Eine der bekanntesten Distributionen ist dabei LineageOS (ehemals CyanogenMod). Greifst du zu solch einer Version und machst beim Aufspielen keine Fehler, erhältst du ein mit neuem OS gut funktionierendes Smartphone. Denn bei solchen ROMs hat ein Entwickler oder Entwickler-Team seine Freizeit dafür geopfert, die Treiber und Apps genau auf dein Gerät anzupassen.
Doch was, wenn es kein Custom ROM für dein Smartphone gibt? Weder bei XDA noch sonst wo finde ich ein Custom ROM, das für mein Cubot KingKong Mini 2 Pro angepasst wurde. Es gibt aber eine letzte Chance namens Generic System Image (GSI). Bei einem GSI handelt es sich ebenfalls um ein Custom ROM, jedoch ist dieses nicht für ein spezifisches Gerät angepasst.
Die Voraussetzung für die Installation eines GSI ist, dass das Smartphone mindestens mit Android 8 daherkommt und sein Bootloader entsperrt ist. Android 8, weil bei dieser Version erstmals Googles Project Treble integriert ist, das Android modularisiert und etwa Gerätetreiber vom restlichen Android trennt. Das führt dazu, dass es einfacher ist, die Software von Smartphones zu aktualisieren.
Daher: Suchst du eine alternative Android-Version für ein Gerät, für das es kein spezifisch angepasstes Custom ROM gibt, dann nutze die Stichwörter «GSI» und/oder «Project Treble» bei deiner Suchanfrage. Oder schau dich direkt im entsprechenden «Project Treble»-Forum bei XDA um, wo verschiedene GSI inklusive aktuellem Android-Sicherheitsupdate zu finden sind.
Potenziell passende ROMs gefunden: Darauf achte ich, bevor ich mich final entscheide
Es gibt tatsächlich mindestens einen Menschen, der das gleiche Smartphone wie ich besitzt und angeblich bereits im September 2022 erfolgreich Android 13 installiert hat. Dabei handelt es sich um den User orangestate, der in einem Thread zum KingKong Mini (ohne «2 Pro») im XDA-Forum eine Anleitung fürs KingKong Mini 2 Pro veröffentlicht hat. Eine überaus nützliche, wie sich herausstellen wird.
Doch vorerst fokussiere ich mich auf die Custom ROMs, die in selbigem Thread genannt werden. Auf zwei davon werfe ich einen genaueren Blick. Beim ersten handelt es sich um LineageOS, dessen Entwickler leider keine GSI-Version anbieten. Dafür gibt es mehrere andere nette Menschen, die sich der GSI-Portierung von LineageOS angenommen haben. Beispielsweise bietet AndyYan ein TrebleDroid-based LineageOS 20 (Android 13) an.
Neben LineageOS fällt mir beim Durchforsten des KingKong-Mini-Threads auch LeOS auf. Dabei handelt es sich um eine Android-Version, die komplett ohne Google-Apps oder -Services daherkommt. Wobei das bei LineageOS ähnlich ist. Dort hast du jedoch die Möglichkeit, die Google Apps inklusive Play Store und Google Pay ohne grossen Aufwand mittels Zip-Paket nachträglich zu installieren.
Wie viel Google darf es sein?
Auf diese Gedanken hin halte ich inne. Moment, was will ich eigentlich genau?
Folgende Fragen stellen sich:
- Möchte ich auf meinem Smartphone sämtliche Google Apps nutzen?
- Reicht mir allenfalls nur ein Teil der Google Apps?
- Kann ich komplett auf Google verzichten?
Schnell wird mir bewusst, dass ich (vorerst) gerne ein wenig Google behalten möchte. Primär, weil ich meine gekauften Apps aus dem Play Store weiter verwenden will. Sekundär, weil ich mir noch nicht im Detail angesehen habe, welche Ersatz-Apps ich für meine Handvoll Google-Apps künftig nutzen möchte.
Nik bietet auf nikgapps.com verschiedene Google-App-Pakete (NikGApps) an, die ich nachträglich installieren könnte. Dabei entspricht das Core Package auf dem Screenshot unten meinen Vorstellungen von «ein wenig Google». Nur so viel von Google installieren, wie für die Funktion der verwendeten Apps notwendig, klingt gut.
Das bedeutet: Die Apps, welche mir danach fehlen – Gmail, Maps sowie Chrome – kann ich mir nachträglich aus dem Play Store ziehen und problemlos nutzen. Beim Betrachten der anderen Pakete muss ich schmunzeln, da ich gelesen habe, dass die ganze Flut an Google-Software hunderte oder gar tausende Mal pro Tag mit Servern kommuniziert und dadurch die Akkus der Smartphones erheblich schneller leer werden. Vergleichbar mit Microsofts Windows-Telemetriedaten.
Nun, wo mir die normale Menge an Google-Software bewusst ist, freue ich mich umso mehr auf ein Custom ROM. Werde ich bald mit einer Akkuladung mehr als einen Tag lang Strom haben?
Administratorrechte: Was ist die Voraussetzung für den Root-Zugriff?
Ferner möchte ich mir die Administratorrechte sichern, was bei Android der Root-Zugriff ist. Auf ein gerootetes Smartphone kannst du Apps mit Funktionen installieren, die ohne Root-Zugriff nicht oder nicht gleich gut funktionieren. Gute Werbeblocker sind ein Beispiel.
Den Root-Zugriff erhält das Smartphone von einer App, die das Root-Management übernimmt. Magisk und SuperSU sind die wesentlichen Kandidaten für diesen Job. Allerdings hat der Entwickler Chainfire seine Arbeit an SuperSU bereits im Januar 2018 eingestellt. Dennoch gibt es noch immer vereinzelt aktuelle Custom ROMs, die mit SuperSU-Root daherkommen. Der Nachteil ist, dass damit längst nicht alle Root-Apps laufen.
Daher werde ich auf Magisk setzen, das regelmässig Updates erhält und darüber hinaus die Möglichkeit bietet, eine Menge nützlicher Module zu installieren. Damit Magisk installiert werden kann, muss das Custom ROM Lese- und Schreibrechte fürs System unterstützen. Mehr zu Root, zur Installation von Magisk und meinen Lieblings-Root-Apps erzähle ich dir bald in einem oder zwei separaten Artikeln.
Wichtig vor dem GSI-Download: CPU-Architektur und Partitionslayout überprüfen
Bevor du dich für ein GSI entscheidest, solltest du sicherheitshalber abklären, ob davon eine Version existiert, die zu deinem Smartphone passt. Damit ein GSI darauf läuft, muss es für die CPU-Architektur und das Partitionslayout des Speichers deines Smartphones ausgelegt sein. Es gibt ein A- und ein A/B-Partitionslayout. A/B wird seit Android 7 (2016) unterstützt. Dabei können im System zwei Sets an Partitionen vorhanden sein – also ein zweiter Satz an Boot-, System- und anderen Partitionen. Das sorgt dafür, dass Seamless Updates unterstützt werden. Was bedeutet, dass Updates installiert werden können, während du das Smartphone benutzt. Dadurch muss ein Smartphone nach dem Update auch nur einmal neu starten.
Die Architektur und dieses Layout kannst du ganz einfach mit der App Treble Info ausfindig machen. Nach dem Starten zeigt sie bei meinem Smartphone folgendes an:
Ich sehe, dass mein Gerät generell für Project Treble (GSI) geeignet ist. Die Information «system-arm64-ab.img.xz» sagt mir ausserdem, dass eine ARM64-Architektur vorliegt. Klicke ich in der App auf Eigenschaften, erfahre ich, dass ebenfalls eine 64-Bit Binder-Architektur zur Anwendung kommt. Es gibt auch ROMs, wo die Binder-Architektur von derjenigen des Prozessors abweicht.
Ebenso wichtig: Das «ab» hinter der Architektur des Systemabbildnamens sagt aus, dass ein A/B-Partitionslayout vorliegt. Würde dort nur ein «a» stehen, müsste ich mich auf die Suche nach einem GSI mit A-Layout begeben. Es gibt ROMs für A, A/B oder für beide Layout-Varianten – zum Beispiel in diesem empfehlenswerten Unterforum von Project Treble bei XDA.
LeaOS: Das Android 13 GSI meiner Wahl
Während der weiteren Recherche bin ich noch auf LeaOS gestossen. Das gefällt mir besser als meine ersten beiden Kandidaten, von denen LeOS einen zum Verwechseln ähnlichen Namen hat. Daher will ich das installieren.
Mit Lea gehe ich ein Wagnis ein, da es keine Berichte darüber gibt, ob das auf meinem Cubot Smartphone stabil und fehlerfrei läuft. Doch hat das GSI vom Entwickler AltairFR alles, was ich mir wünsche:
- Auf dem Android Open Source Project (AOSP) basierendes Android 13 mit aktuellem Sicherheitsupdate und Patches des Entwicklers
- Erhältlich mit oder ohne Google Apps (wobei ich leider im Voraus nicht ganz sicher bin, wie viel von Google bei dieser Version mit installiert wird)
- Erhältlich mit vndklite Lese-/Schreibrechten (benötige ich für den Root-Zugriff mit Magisk)
- Nicht erhältlich mit SuperSU (das ist gut so, ich will ja Magisk)
- Enthält Trebledroid Patches von Phh und damit zusätzliche System-Einstellungen (eine davon wird mir noch sehr nützlich sein, obschon ich das zu diesem Zeitpunkt noch nicht weiss)
AltairFR bietet sechs Varianten von LeaOS zum Download an. Sämtliche Versionen sind für ARM64 und A/B-tauglich, was zu meinem Smartphone passt. Damit ich weiss, welches GSI ich herunterladen muss, hat der Entwickler Kürzel in die Dateinamen eingebaut. Die Version, die mich interessiert, enthält «arm64_vgN» in der Bezeichnung. Das steht für «ARM64 A/B vndklite read-write - Google Apps with no SU» – also mit Lese- und Schreibrechten sowie den Google Apps und ohne SuperSU.
Neues, alternatives Android installieren
Nach dem Download des LeaOS-GSI geht es endlich ans Eingemachte. Wobei ich mir erstmal wieder in Erinnerung rufen muss, was ich dazu alles benötige. Also, wie ich vorgehen muss, damit ich die Android Debug Bridge (ADB) nutzen kann. Die ermöglicht es, mittels Befehlen in der Konsole dem Smartphone Daten über ein USB-Kabel zu senden. Mein letztes Mal ist Jahre her, daher hilft mir eine Anleitung.
Für mein Vorhaben benötige ich einen Treiber für mein Cubot-Smartphone und die SDK Platform Tools mit ADB.
Dann stelle ich sicher, dass mein Smartphone die aktuellste Version von Cubots Stock Android 11 installiert hat. Ausserdem lade ich mir das Image der gleichen Version bei Cubot herunter.
Nun bereite ich das Smartphone nach ADB-Anleitung für die eigentliche Installation vor: Ich installiere die SDK Platform Tools auf dem Windows-Computer. Beim Smartphone gehe ich in die Einstellungen und wähle den untersten Punkt «Über das Gerät». Dort tippe ich ganz unten siebenmal auf die «Build-Nummer». Dadurch schalte ich die Entwickleroptionen des Smartphones frei. Daraufhin aktiviere ich in den Einstellungen unter System > Entwickleroptionen die Option «USB Debugging». Als Letztes installiere ich den USB-Treiber unter Windows. Jetzt verbinde ich den Computer mit dem Smartphone. Zum Testen, ob die Verbindung steht, gebe ich in der Konsole im Verzeichnis der Platform-Tools den Befehl «adb devices» ein. Woraufhin das KingKong als verbundenes Gerät aufgelistet wird.
Danach halte ich mich an die bereits erwähnte Anleitung von orangestate. Zusammengefasst tue ich Folgendes:
- Ich entpacke den Inhalt des Cubot Stock ROMs, um die Dateien vbmeta.img, boot.img und recovery.img bereitzuhalten. Ebenso lade ich eine weitere Datei namens product_gsi.img hier herunter.
- In der Konsole gebe ich einen ADB-Befehl ein, der das Smartphone in den Bootloader neu startet.
- Im Bootloader angekommen, gebe ich den Befehl ein, um den Bootloader zu entsperren. Ich bestätige eine Warnung, bevor die Garantie des Geräts erlischt.
- Ich flashe die Dateien vbmeta.img, boot.img und recovery.img mit drei weiteren Befehlen.
- Jetzt wechsle ich mit einem weiteren Befehl in den Fastboot-Modus.
- Dort angekommen flashe ich die Datei product_gsi.img und daraufhin mit einem finalen Befehl das Image von LeaOS.
Das war es eigentlich. Obendrauf flashe ich allerdings noch eine letzte Datei namens lk_patched.img. Die verhindert, dass mich Cubot beim Starten des Smartphones mittels oranger Schrift darauf aufmerksam macht, dass ich keine Garantie mehr habe. Da dies nur beim Bootvorgang geschieht, ist der Schritt nicht zwingend notwendig. Trotzdem will ich mir den Hinweis ersparen.
Nach all dem starte ich das Smartphone neu und warte auf Android 13.
Wie gut Android 13 auf dem Zwergenphone läuft
Hurra, es läuft! Nach dem Neustart begrüsst mich Android 13 und ich kann mit der Einrichtung beginnen, als hätte ich das Smartphone gerade neu gekauft. Einige Zeit danach ist alles wieder so, wie es sein soll. Google Apps sind, abgesehen vom Play Store, den Play-Diensten und Android Auto, nach der Installation nicht vorhanden. Allerdings muss ich feststellen, dass die vorinstallierte Kalender-App von AOSP bei mir nicht funktioniert. Daher installiere ich die Google-Kalender-App aus dem Play Store nach.
Ansonsten muckt vorerst nichts rum – mein Smartphone wird anstandslos von Google erkannt und ich kann meine gekauften Apps nutzen – das soll bei Smartphones mit Custom ROM nicht immer so tadellos funktionieren.
Die Apps laufen von der Geschwindigkeit her weder schneller noch langsamer als unter Android 11. Das bedeutet, dass mein KingKong weiterhin in einigen Apps und bei längeren Websites gemächlich unterwegs ist. Der AOSP-Launcher von Android 13 wie auch mein bevorzugter Smart Launcher 6 sind jedoch ohne Ruckler smooth zu bedienen.
Einen Tag nach der Installation fällt mir jedoch auf, dass ich Probleme mit meinen Bluetooth-Kopfhörern habe. Genauer gesagt höre ich nichts, obschon sie mit dem Smartphone verbunden sind. Daraufhin suche und finde ich die Lösung im neuen – nur bestimmten Custom-ROM-Besitzern vorbehaltenen – Untermenü in den Einstellungen namens «Phh Treble Settings». Dort sind die bereits erwähnten erweiterten Einstellungen von Entwickler Phh zu finden. Eine davon heisst «Bluetooth workarounds». Diese Option stelle ich von «None» auf «Mediatek» um.
Danach ist Ruhe. Beziehungsweise spielt die Musik ab da richtig. Dennoch sammle ich drei Wochen lang Erfahrungen, ehe ich mich ans Schreiben dieses Textes mache. Und ja, da ist noch eine letzte Sache, die ich unbedingt berichten möchte: Der Akku hält tatsächlich länger als bisher – viel länger. Eineinhalb Tage anstelle eines Tages bei normalem Gebrauch. Ob dies damit zusammenhängt, dass nur noch ein Teil der vorherigen Google Software vorhanden ist oder auch Android 13 an sich effizienter geworden ist, weiss ich nicht.
Alles in allem bin ich sehr zufrieden – der Aufwand hat sich gelohnt. Und wenn eine neuere Version von LeaOS erscheint, muss ich glücklicherweise nicht nochmal alles durchgehen. Dann reicht es, wenn ich das neue GSI übers alte flashe.
Mein Zwergenphone wird bestimmt nicht das letzte gewesen sein, dem ich frisches Leben eingehaucht habe. Falls du nach diesem etwas längeren Weg zum Custom ROM noch Lust auf mehr hast, werde ich dich nicht enttäuschen. Ich werde meinen Weg zu Root ebenfalls vertexten. Auch liest du bald, was dank Root alles geht – und welche Root-Apps für mich mittlerweile fast unverzichtbar geworden sind.
Titelfoto: Martin JudDer tägliche Kuss der Muse lässt meine Kreativität spriessen. Werde ich mal nicht geküsst, so versuche ich mich mittels Träumen neu zu inspirieren. Denn wer träumt, verschläft nie sein Leben.