
Aber mal von vorn: da ich noch einige Galaxy S2 zum Testen und Ausprobieren daheim herumliegen habe, und auch noch genug Ersatzteile wie Mainboards und Kleinteile, wollte ich eins davon mit Android 5.1.1 installieren und das aktuellste Cyanogenmod 12.1 drauf werfen.
Also gesagt, getan: erst mal ein halbwegs aktuelles CM 12.1 für i9100 heruntergeladen und ein bißchen Informationen gesammelt, was noch zu tun ist. Dabei habe ich gelernt, dass es empfehlenswert ist, einen für Lollipop angepassten Kernel mitsamt aktuellem Recovery zu flashen. Bei Samsung wird das Custom Recovery zusammen mit einem Kernel geflasht, hier gibt es von verschiedenen XDA-Entwicklern fertige Pakete aus Linux-Kernel und Lollipop-geeignetem Recovery.
Wenn dieser Schritt getan ist (mit Odin als "PDA" flashen), kann man mit dem Samsung-üblichen Dreifingergriff das S2 in den Recoverymodus versetzen und die Zipdatei mit CM 12.1 installieren, und danach wie üblich ein Paket Google-Apps.
Hier hat sich viel für die Bequemlichkeit getan, seit ich das letzte Mal Google Apps herunterladen musste: es gibt ein cooles Projekt bei GitHub, das verschiedene Pakete anbietet, vom Minimalpaket mit gerade mal der Play Store-App ("pico"), über ein Mikro-Paket, das dann schon GMail, GKalender und einige Kleinigkeiten mehr enthält, bis hin zum "Super"-Paket, das wirklich alles enthält, was jemals bei Google aus dem Compiler geworfen wurde.


Die Neupartitionierung kann man entweder manuell mit "adb shell" im Root-Modus durchführen und direkt am offenen Herzen des S2 mit dem "parted" Partitionseditor die Größen verändern, oder man verändert die Partitionen mit einem Hilfsprogramm wie Heimdall (für Linux und Windows) oder Odin (nur Windows), das eine Konfigurationsdatei mit der Endung ".pit" verwendet, um den Vorgang zu automatisieren.
Ich war wenig mutig und habe Odin verwendet, nachdem ich mir aus einer Auswahl von fertig vorbereiteten ".pit"-Dateien die ausgesucht habe mit 4 GB für system und den Rest für Daten.
Danach muss im Recoverymodus die Systempartition, die Datenpartition und die simulierte Speicherkarte (üblicherweise "sdcard0" genannt) neu mit einem Linux-Filesystem formatiert werden. Ich empfehle "ext4", das ist erprobt und zuverlässig. Dabei gehen natürlich alle Daten verloren! Es ist also schlau, ein Backup der vorhandenen Inhalte zu machen (Bilder in DCIM usw.). Die Zipdateien für CM 12.1 und die Google Apps sollte man auf eine SD-Karte packen und als externen Speicher ins Telefon stecken. Beim S2 geht das ja, im Gegensatz zu den sonst von mir bevorzugten Nexus-Geräten, die prinzipiell keinen SD-Steckplatz haben.
Genauer gesagt läuft es so ab: unter "advanced" kann man /system, /data, /cache, und /storage/sdcard0 formatieren und dann mounten.
Danach werden mit "install zip" die Zipdatei von CM 12.1 und die Zipdatei der Google Apps installiert und neu gebootet. Die Frage nach dem "fix root" sollte man mit "yes" beantworten, schließlich will man hinterher noch mit "TriangleAway" das lästige gelbe Dreieck beseitigen, mit dem Samsung anzeigt, dass man einen unsignierten Kernel geflasht hat ;). TriangleAway benötigt root-Zugriff. Den muss man im Entwicklermenü dann auch erst aktivieren, CM 12.1 hat den Rootzugriff prinzipiell abgeschaltet, und man muss als Entwickler dann z.B. "Nur Apps" einschalten - oder auch "Apps und ADB", wenn man als Entwickler mit den adb-Befehlen als root arbeiten können will.
Der erste Start des neuen Android-Systems dauert ziemlich lang, weil wie üblich die Java-Dateien in den APK kompiliert und gecache't werden müssen. Seit Lollipop verwendet Android ein neues Verfahren zum Kompilieren und Cache'n, nämlich "ART" und nicht mehr "Dalvik". Dies ist nicht nur aus Performancegründen, sondern auch dem Patentstreit mit Oracle geschuldet. Genauer gesagt ist ART seit Kitkat, also Android 4.4 enthalten, aber nicht als Standardverfahren eingerichtet, und Cyanogenmod hat ausdrücklich erklärt, dass ART auf CM 11 nicht verwendet werden soll. Diese Aussage ist korrekt, ich habe es ausprobiert und hatte permanenten Abstürze der Apps.
Nach dem ersten Start sollte man aus dem Play Store oder von der Speicherkarte TriangleAway installieren. Falls die App nicht aus dem Play Store geladen wird, muss man in den Einstellungen die "unbekannten Quellen" erlauben. TriangleAway lädt einen handgeschnitzten Kernel nach, der genau zum Handymodell passt, startet das Telefon neu, und dann kann man mit der Lautstärketaste "Hoch" den "Flashcounter" wieder auf 0 setzen, damit das lästige gelbe Dreieck nicht mehr auf dem Einschaltbildschirm angezeigt wird.
Da sich der Installationsvorgang bei CM gelegentlich mal ändert, sollte man unbedingt in den Einstellungen einrichten, dass beim Flashen einer neuen CM-Version auch das aktuelle Recovery mit installiert wird. Diese Einstellung findet sich bei den Entwickleroptionen, die man erst sichtbar machen muss. Dazu im Menü "Über das Telefon" siebenmal auf die Buildnummer tippen.
Puh, das war Stress! Wenn man am Partitionslayout herumfummelt, kann es unter Umständen auch böse enden, wenn man eine der Partitionen beschädigt, die das Telefon für die ersten Phasen des Bootvorgangs - vor dem Laden des Linux-Kernels - benötigt. Also auf keinen Fall an den Partitionen für "SBL", "Radio", "Factory" usw. herumfummeln.
[Update 20151204: Links zu Custom Kernels nachgetragen]
Keine Kommentare:
Kommentar veröffentlichen