Android stammt zwar von Google, doch wer will, kann sich auch sein eigenes Android-System bauen. Das populärste alternative Android-System stammt vom Cyanogen-Team. Wir stellen die Firmware vor, erklären den Unterschied zwischen CyanogenMod, Cyanogen OS und Cyanogen Inc. und beschreiben kurz, wie man CyanogenMod 12 installiert.
Als Android-User-Leser hast du den Begriff CyanogenMod bestimmt schon gehört gehört. Es ist eine spezielle Version von Android, die es für sehr viele Handys und Tablets gratis zum Download gibt. Die Entwickler nennen es ROM (die oder das) oder eine Firmware. Aber hinter CyanogenMod steckt auch eine Firma, die Entwickler bezahlt und das Projekt vorantreiben möchte. Dabei hat man bei Cyanogen stets den Anspruch, dass die Bedienung so einfach sein soll, dass auch der eigene Papa oder die eigene Mama ein Handy mit CyanogenMod bedienen kann.
Ist das nun Android oder nicht?
CyanogenMod ist zunächst mal eine Android-Firmware. Ein Betriebssystem auf Android-Basis, das du auf deinem Handy oder Tablet installieren kannst, sofern es dafür eine passende Version gibt. Solche Android-Firmwares machen auch Samsung, HTC, Sony, LG, Huawei und natürlich auch Google. Diese Hersteller arbeiten aber immer nur an ihren eigenen Geräten (bei Google sind es die Nexus-Geräte) und die Firmware ist meistens nicht komplett frei verfügbar. CyanogenMod ist für alle Handys und Tablets offen und im kompletten Quellcode im Internet verfügbar. Da die Arbeit des CyanogenMod-Projekts Open Source ist (also unter einer freien Lizenz steht), kann jedermann sein eigenes CyanogenMod erstellen, eigene Veränderungen hinzufügen, Funktionen aus anderen ROMs einfügen oder das Projekt auf exotische Geräte portieren. Diese Dinge unterliegen nicht der Kontrolle des CyanogenMod-Projekts, und werden daher als ,,Unofficial„ – manchmal auch KANG – bezeichnet. Eine Liste der verschiedenen Versionen von CyanogenMod zu erstellen ist praktisch unmöglich, da es sehr viele unofficial Versionen gibt. Die Liste der offiziell unterstützten Geräte umfasst aktuell für Android 5.0.2 rund 50 Geräte und findet sich unter https://download.cyanogenmod.org/.


Die Macher von CyanogenMod können ihre Firmware nur deshalb anbieten, weil Google den (exzellenten) Source Code frei zur Verfügung stellt. Dieser Code wird auch als AOSP – Android Open Source Project – bezeichnet. Alle echten Android-ROMs basieren auf dem Quelltext des Android Open Source Projekts – auch CyanogenMod gehört dazu. ROMs ohne Quellcode gibt es zwar auch, aber diese lassen sich üblicherweise nur auf einem Gerät eines bestimmten Herstellers installieren, weil eben kein Quellcode vorliegt. Von CyanogenMod gibt es keine solchen ROMs, nur die AOSP-basierten.
Jede Änderung an der Software, die in den Quelltext eingeht, wird allen Entwicklern zur Begutachtung und Diskussion zur Verfügung gestellt (http://review.cyanogenmod.org). Diesen Vorgang nennt man Code Review, als Softwarelösung kommt dafür Gerrit zum Einsatz. Die Diskussion kann bei großen Änderungen auch Wochen dauern und mehrere Verfeinerungen beinhalten – sowohl in Funktion als auch in Quellcode Stil. Am Ende wird das finale Ergebnis mit allgemeinem Einverständnis in den Quellcode integriert und aus dem Quellcode wird jede Nacht eine neue Version von CyanogenMod erstellt. Diese nennt man Nightly Builds oder Nightlies. Was sich von Build zu Build bei einer Version so ändert, findest du über die öffentliche Log-Seite von CyanogenMod unter http://www.cmxlog.com/12/ heraus. Die Seite verrät auch, woran die Entwickler gerade arbeiten und welche Neuerungen mit der nächsten Build-Version zu erwarten sind. CyanogenMod wird von der Firma Cyanogen Inc. und von vielen Freiwilligen entwickelt, ähnlich wie bei den Linux-Distributionen. Daneben gibt es das kommerzielle Android-System Cyanogen OS, das auf CyanogenMod basiert und einige kommerzielle Zusätze mitbringt. Geräte mit Cyanogen OS (alias CM12S) sind aktuell das OnePlus One und das Yu Yureka von Micromax in Indien. Noch dieses Jahr sollen weitere folgen. In den USA zum Beispiel das Alcatel Idol 2+ und ein neues Smartphone von Blu.
Firma oder Open-Source-Projekt? In den Anfängen des CM-Projekts gab es praktisch nur Freiwillige, die in ihrer Freizeit den Quellcode von Google analysierten, an die Anforderungen bestimmter Geräte anpassten und daraus CyanogenMod erstellten. Doch CM wuchs so schnell, dass man an den Rand des Chaos geriet. Seit rund drei Jahren läuft die Entwicklung deshalb sehr geordnet ab, und seit September 2013 gibt es mit der Cyanogen Inc. des CyanogenMod-Gründers Steve Kondik auch eine Firma, bei der sich hauptberufliche Entwickler um einzelne Geräte kümmern. Die Firma hat Mitte März 80 Millionen Dollar an Investitionsgeldern gesammelt. Die freien Mitarbeiter des Projekts spielen aber weiterhin eine wichtige Rolle, vor allem für die inoffiziellen Ports. Neben der freien Firmware CyanogenMod arbeitet Cyanogen auch am Cyanogen OS, das auf bestimmten Geräten vorinstalliert ausgeliefert wird.
Es gibt so viele Versionen…
Android-Versionen haben eine Versionsnummer und einen Codenamen. C wie Cupcake, D wie Donut, E wie Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat und Lollipop alias Android 5.0. Warum heißt dann die aktuelle Version CyanogenMod 12? Die Hauptversionsnummer von CyanogenMod entspricht der Stelle des von Google gewählten Buchstabens im Alphabet. Gingerbread wurde so zu CM7 und Ice Cream Sandwich zu CM9. Ein CM8 für Honeycomb gab es nie, da Google den Quellcode zunächst nicht freigegeben hatte. Die Nummer hinter der Hauptziffer steht dann für die Unterversion: So wurden Android 4.1 bis 4.3 (alles Jelly Bean) zu CM 10.1, 10.2 und 10.3. KitKat bekam die Nummer 11 und „Lollipop“ ist somit CyanogenMod 12 bzw. 12.1 (Android 5.1)


Das ist aber nur eine Seite der Medaille, denn neben der Versionsnummer spielen auch die Builds eine wichtige Rolle. Darunter versteht man, wie oft aus dem Quellcode eine neue fertige Version der Custom-ROM erstellt wird und welche Qualität diese CM-Version aufweist. Aktuell unterscheidet das Projekt die folgenden Zweige:
- Nightly Build: Hierbei handelt es sich um Versionen, die nachts (daher Nightly) automatisch erstellt werden. Ihnen fehlt jede Kontrolle auf Funktionalität. Das Code Review stellt dennoch sicher, das ein Nightly Build verhältnismäßig selten grobe Fehler enthält. Trotzdem sollte ein Nutzer eines Nightlies sich dessen bewusst sein, und immer damit rechnen, dass Teile der ROM nicht funktionieren wie gewünscht. Im schlimmsten Fall funktioniert die Version überhaupt nicht. Nightly Builds sind also nichts für den täglichen Gebrauch. Damit ein Gerät offiziell den ,,Nightly„-Status erhält, muss jede Hardware Komponente des Gerätes – wie Kamera, GPS oder Telefoneinheit – funktionsfähig sein.
- Stable Build: Ein Stable Build wird erstellt, wenn der Android-Zyklus sich dem Ende neigt, und die nächste Android Version kurz vor der Veröffentlichung steht bzw. schon veröffentlicht ist. Da sich damit auch der Fokus sämtlicher CM-Entwickler verlagert, bedeutet das quasi den Abschluss der Entwicklung mit einer stabilen Version. Am Ende eines Versionzyklus heißt natürlich auch, dass in einer solchen Version all das Wissen, all die Erfahrung und all die Erweiterungen eines kompletten Zyklus – der meist ein halbes Jahr lang dauert – stecken. Ein Stable Build wird im Gegensatz zu allen anderen Builds auch nachträglich gepflegt, falls zum Beispiel ein Sicherheitsfehler oder gravierender Bug bekannt wird. Falls dir Sicherheit und Stabilität über alles gehen, dann solltest du eine Stable-Version wählen (falls verfügbar).
- Release Candiate: Ein RC – Release Candidate – ist eine Spezielle Form von Stable. Sobald in einer Reihe dieser Versionen keinerlei Fehler mehr gemeldet werden, wird dies die Stable Version. Veröffentlicht das CM-Team eine Version RC1, dann werden darin Fehler gefunden. Eine Woche Später erscheint RC2, es werden weitere kleine Fehler gefunden. Werden in einem RC keine weiteren Fehler mehr gefunden, dann wir die Version als ,,Stable„ veröffentlicht. Aktuell steht CyanogenMod 12 noch weit davon entfernt, als Release Candidate oder sogar als Stable deklariert zu werden. Auch von CyanogenMod 11 gibt es keine offiziell als Stable deklarierten Builds.
- Experimental Build: Experimental Builds sind vom Geräte Betreuer individuell erstellte Versionen. Meist findet man diese für Geräte, die noch keinen Nightly Status haben. Manchmal werden Experimental Builds auch genutzt, um neue Kernel Funktionen außerhalb der normalen Nightly ROMs zu testen. Man sollte auf jeden Fall die Hinweise des Gerätebetreuers lesen, bevor man so eine ROM nutzt. Leider gibt es keine zentrale Stelle für diese Hinweise – man findet jedoch meist im CyanogenMod-Forum (http://forum.cyanogenmod.org) bei XDA-Developers.com einen Beitrag dazu.
- Monthly Snapshot: Sobald eine neue Android Version laut CM-Entwickler rund genug auf verschiedener Hardware läuft, erstellt das Team davon Monthly Builds, so genannte Snapshots, die durchnummeriert werden. Neue Versionen sind für Anfang jedes Monats geplant, können sich aber auch bis Mitte des Monats verzögern. Die ROMs werden vom jeweiligen Geräte-Betreuer getestet, und auch das UX Team versucht, offensichtliche Probleme in der erweiterten Funktionalität des Systems zu beheben. Ein M-Build ist für all jene gedacht, die neueste Versionen und Funktionen bei minimalem Risiko nutzen möchten. Er ist daher die offizielle Empfehlung unseres Teams. Offizieller M-Status ist erreicht, wenn alle Hardware eines Gerätes funktioniert, diese auch nicht zu Bugs oder gelegentlichen Abstürzen neigt und der verwendete Source Code des Kernels keine ,,schmutzigen Hacks„ beinhaltet. Der/Die Betreuer müssen der Meinung sein, dass alles rund läuft.
- Unofficial Build: Unofficial Builds sind Firmware-Versionen, die sich jeglicher Kontrolle des CyanogenMod-Teams entziehen und meist in einem Forum – wie XDA, Rootzwiki oder Modaco – ihr Zuhause haben. Die Qualität dieser Builds hängt ausschließlich vom Betreuer ab. Im ersten Beitrag zur Veröffentlichung einer solchen ROM steht aber meist ausführlich, welche Hardware-Komponenten nicht laufen, und welche Probleme es geben kann. Es kommt nicht selten vor, dass diese Builds und ihre Entwickler später dem Weg zum offiziellen CyanogenMod-Team finden.
Allgemein ist anzuraten, die Stable-Version der letzten Android Version – beispielsweise 4.4 – zu nutzen, bis die neue Version 5.0 so weit entwickelt ist, dass ein Monthly Build angeboten wird. Natürlich gibt es immer experimentierfreudige Nutzer, die die neue Version testen, sobald sie irgendwie verfügbar ist. Diese Power User geben dem Projekt wertvolles Feedback. Es kann aber genauso gut vorkommen, dass ein bestimmter Nightly Build für ein bestimmtes Gerät so gut gelungen ist, dass man damit problemlos arbeiten kann. Nur darauf verlassen solltest du dich bei den Nightlies auf keinen Fall.


CyanogenMod installieren
Um CyanogenMod installieren zu können, gelten die gleichen Voraussetzungen wie in unserem einführenden Artikel in Android Power User #05 beschrieben. Der Bootloader muss entsperrt sein, du brauchst ein Custom Recovery, die passende ROM-Datei und üblicherweise noch ein passendes Google-Apps-Paket. Zunächst musst du dir sicher sein, welche CM-Version es überhaupt gibt und welchen Zweig du benutzen möchtest. Besitzt du zum Beispiel ein Samsung Galaxy S4, dann führt dich dein erster Besuch zur Liste der unterstützten Geräte http://cyanogenmod.org/devices. Hier wählst du als Vendor Samsung aus und tippst anschließend S4 in das Filterfenster ein. Schon bekommst du eine Liste von Geräten mit CyanogenMod. Hier musst du dir nun unbedingt den Gerätenamen merken. Diesen brauchst du immer wieder. Falls du über die internationale Version des SGS4 mit Exynos-Prozessor verfügst, lautet der Name i9500, falls es die LTE-Version ist ks01lte
, falls es die Version mit dem Qualcomm-Prozessor ist, dann lautet der Gerätename jflte
. Diese Information ist sehr wichtig, da du unter Umständen sonst eine falsche Version auf deinem Handy einspielst. Bekannte Gerätenamen sind zum Beispiel falcon
für das Motorola Moto G 2013, bacon
für das OnePlus One, mako
für das Nexus 4 oder flo
für das Nexus 7 in der Wifi-Version (2013).

Hast du den passenden Gerätenamen gefunden oder kennst du ihn schon, dann geht es ab auf die Download-Seite https://download.cyanogenmod.org. Hier findest du links eine Liste aller jemals unterstützten Geräte. Für das Samsung Galaxy S4 mit Qualcomm-Prozessor suchst du also nach jflte
. Erschreckt stellst du fest, dass es ja noch mehr Versionen gibt, fjlteatt, jfltecan, jfltecri
und viele mehr. Dabei handelt es sich um Versionen für bestimmte Provider. Hierzulande kommt Glück meistens die internationale Version zum Einsatz, bleib also einfach bei jflte
ohne Zusatz.
Gerät ausgewählt? Dann markiere links oben unter Type den Eintrag all um alle verfügbaren Builds zu sehen. Jetzt musst du dich entscheiden, welche Version. Für das SGS4 gibt es aktuell noch keine Android-5.0-Builds alias CM12, du musst also noch mit KitKat vorlieb nehmen. Hier hast du die Wahl zwischen einem Nightly-Build vom Januar/Februar 2015 oder einem SNAPSHOT-M12 vom 12. November 2014. Da es sich bei beiden um KitKat als Version handelt, würde ich dir empfehlen, zunächst den Snapshot auszuprobieren und dabei zu bleiben, wenn es keine Probleme gibt. Ist es dir egal, wenn dein Handy eventuell mal nicht richtig funktioniert, dann kannst du natürlich auch den jüngsten Nightly Build herunterladen. Die Wahl liegt bei dir, es gibt kein Rezept, das garantiert stimmt.
Ok, jetzt hast du CyanogenMod heruntergeladen, aber wie kannst du es nun installieren. Dazu folgst du einfach unserer Anleitung im Grundlagenartikel zu den Custom-ROMs. Es gibt aber manchmal ein paar Geräte-Besonderheiten und natürlich brauchst du auch das passende Recovery. Dazu wechselst du wieder ins CyanogenMod Wiki (http://wiki.cyanogenmod.org/), suchst nach deinem Gerät und klickst den passenden Eintrag an. Hier gibt es nun einen klickbaren Eintrag für die Installationsanleitung, der wiederum den Gerätenamen enthält:
http://wiki.cyanogenmod.org/w/Install_CM_for_jflte
Wenn du ein anderes Gerät benutzt, änderst du also einfach die letzten paar Buchstaben hinter dem Unterstrich zu deinem Gerätenamen zum Beispiel Install_CM_for_falcon
für das Moto G. Hier bekommst du nun eine Schritt-für-Schritt-Anleitung für dein Gerät in Englisch. Besonderheiten sind in Rot markiert, bei den restlichen Schritten kann eigentlich nicht viel passieren. Halte dich einfach an die typischen Punkte:
- Bootloader entsperren
- Recovery Installieren
- Ins Recovery booten,
- Factory Reset durchführen,
- Backup erstellen,
- ROM-Datei via adb push auf das Handy übertragen,
- ZIP-Datei von der SD-Karte zur Installation auswählen.
Wie oben erwähnt liegen die Tücken im Detail. Android User empfiehlt zum Beispiel anstelle des Befehls adb push ROM-Name.zip /sdcard/
den Dateinamen noch einmal auszuschreiben, also
adb push Romname.zip /sdcard/update.zip
Zudem solltest du nicht vergessen, vor dem Flashen vom aktuellen ROM ein Backup zu erstellen, falls du sonst nicht mehr an die Original-Firmware herankommst.
Und die Google-Apps?
CyanogenMod selbst kommt ohne Google Play Store und ohne Gmail und Co. Du musst also noch die Google-Apps installieren. Hier musst du nicht aufpassen, ob die Google-Apps zu deinem Gerät passen (es gibt keine gapps-jflte.zip), aber die Versionsnummer muss stimmen. Spielst du also CyanogenMod 11 ein, dann musst du auch die Google-Apps für Android 4.4. installieren, bei CM 12 sollten es auch die Google-Apps für Android 5.0 sein. Hier gilt die Devise, weniger ist mehr. Lieber nur ein minimales Paket installieren und den Rest dann über den Play Store nachholen als ein 150 MByte großes Paket und anschließend mit einem kaputten ROM dastehen. CyanogenMod selbst bietet keine Google Apps an, die Pakete sind aber ebenfalls im Wiki verlinkt. Die Installation der Google-Apps erfolgt wie beim ROM. Du wechselst ins Recovery, verschiebst die Datei via adb push
auf das Smartphone und wählst anschließend aus dem Recovery die Installation der ZIP-Datei von der SD-Karte.
Tipp: Deutlich eleganter als die Installation via adb push
ist meiner Meinung nach der Weg über adb sideload
. Wähle dazu im Custom Recovery (adb reboot recovery)
den Menüpunkt install zip | Install zip from sideload aus. Auf dem Touchscreen erscheint nun unten ein Hinweis Sideload startet. Auf dem PC schickst du nun zunächst die ROM aufs Handy (das Beispiel gilt nur für das Nexus 5!)
adb sideload cm-12-20150225-NIGHTLY-hammerhead.zip
Dieser Vorgang dauert ein paar Minuten. Achte dabei, nicht nur so lange zu warten, bis das Terminal wieder frei ist sondern auch auf dem Display die Meldungen zu verfolgen. Anschließend installierst du gleich das Paket mit den Google Apps:
adb sideload gapps-lp-20141212-signed.zip
Auch hier dauert es rund eine Minute, bis der Transfer über die Bühne geht und die Google Apps auch tatsächlich installiert sind. Anschließend verlässt du das Recovery-Menü bis zum Hauptmenü und wählst hier Reboot Now. Es ist wichtig, diesen Schritt über das Menü zu erledigen, und nicht aus dem Befehlsfenster heraus einen Reboot-Befehl aufzurufen, weil nur so die Einstellung für die Root-Rechte erscheint! Alternativ kannst du auch das Windows-Installationsprogramm von CanogenMod benutzen, das es allerdings nur für einige Geräte gibt. Zudem scheint der CyanogenMod Installer aktuell nicht mehr weiter gepflegt zu werden.

Fazit
CyanogenMod oder eine beliebige Custom-ROM zu installieren, ist einfacher als man denkt, wenn man sich genügend vorbereitet hat und wenn du bereit bist, dich auch mit den technischen Daten deines Handys etwas auseinanderzusetzen. Du möchtest gerne CyanogenMod, hast aber Angst vor der Installation? Dann hol dir doch einfach das OnePlus One. Der ,,Flaggship Killer„ von 2014 hat es faustdick hinter dem LCD und kommt schon von Haus aus mit CyanogenMod 11. Das Update auf CM 12 steht bereits in den Startlöchern und wird noch im März verteilt.
