Open Source im professionellen Einsatz
Linux-Magazin 05/2015
© lassedesignen, 123RF

© lassedesignen, 123RF

Workshop: Cyanogenmod 12 installieren

Imagewechsel

Cyanogenmod ist die beliebteste alternative Firmware für Android, doch selten auf dem Smartphone vorinstalliert. Der Artikel zeigt, wie Sie das Image einspielen, und erklärt die Besonderheiten der Firmware.

1466

Cyanogenmod [1] nennt sich eine spezielle Android-Version, die für sehr viele Handys und Tablets gratis zum Download bereitsteht (siehe Kasten "Was Cyanogenmod genau ist"). Die Entwickler bezeichnen die Software als ROM (die ROM oder das ROM) oder einfach als Firmware. Aber hinter Cyanogenmod steckt zugleich eine Firma, die Entwickler bezahlt und das Projekt vorantreiben möchte, um damit Geld zu verdienen. Das ist in der Open-Source-Welt ein weitverbreitetes Geschäftsmodell: Firmen wie Red Hat, Ubuntu oder Suse machen es nicht anders.

Was Cyanogenmod genau ist

Cyanogenmod ist zunächst eine Android-Firmware, ein Betriebssystem, das sich auf sehr vielen Android-Geräten installieren lässt, wenn es dafür eine passende Version gibt. Solche Firmware-Varianten kennen auch Samsung, HTC, Sony, LG, Huawei und natürlich zuerst Google. Diese Hersteller arbeiten aber immer nur an ihren eigenen Geräten (bei Google sind es die Nexus-Geräte). Zudem ist die Firmware, abgesehen vom unter der GPL stehenden Kernel, meist nicht komplett frei verfügbar.

Cyanogenmod ist für alle Handys und Tablets offen, der Quellcode lässt sich über das Internet herunterladen. Closed-Source-Komponenten gibt es nur in einer Cyanogenmod-Version, die vorinstalliert auf bestimmten Geräten zum Einsatz kommt, zum Beispiel Cyanogenmod 11S auf dem Oneplus One oder ebenfalls CM 11 auf dem indischen Yureka.

Jede Änderung an der Software, die in den Quelltext einfließt, liegt allen Entwicklern zunächst zur Begutachtung und Diskussion vor [4], dieser Vorgang nennt sich Code Review. Hierfür kommt Gerrit [5] zum Einsatz, eine freie Software von Google unter Apache-Lizenz und auf Git-Basis. Die Diskussionen dauern bei großen Änderungen mitunter Wochen und führen manchmal zu mehreren Feinjustierungen, die sowohl die Funktion als auch den Programmierstil betreffen.

Am Ende wandert das Ergebnis unter allgemeinem Einverständnis in den Quellcode, aus dem die Entwickler eine neue Version von Cyanogenmod erstellen, die Nightly Builds oder Nightlies (siehe Abschnitt "Imagepflege"). Was sich von Build zu Build ändert, erklärt das öffentliche Changelog von Cyanogenmod unter [6]. Die Seite verrät auch, woran die Entwickler gerade arbeiten und welche Neuerungen sich für die nächste Buildversion ankündigen.

Da die überwiegende Arbeit des Cyanogenmod-Projekts unter einer freien Lizenz geschieht, kann jeder sein persönliches Cyanogenmod erstellen, also eigene Veränderungen hinzufügen, Funktionen aus anderen ROMs ergänzen oder das Projekt auf exotische Geräte portieren. Diese Variationen unterliegen nicht der Kontrolle des Cyanogenmod-Projekts und werden daher als Unofficial – manchmal auch Kang – bezeichnet. Eine Liste aller Cyanogenmod-Varianten zu erstellen ist daher praktisch unmöglich, es gibt mittlerweile einfach sehr viele inoffizielle Builds. Die Liste der offiziell unterstützten Geräte umfasst bei Redaktionsschluss (Februar 2015) für Android 5.0.2 rund 50 Geräte und lässt sich auf der Downloadseite des Projekts unter [7] einsehen.

Cyanogenmod (kurz CM) unterscheidet sich in puncto Funktionsvielfalt und Aussehen nicht stärker von Googles Original-Android als dies zum Beispiel die Firmwareversionen von Samsung, HTC, Motorola oder Sony tun. Im Gegenteil: Es ist recht nahe am Vanilla-Android (Android Open Source Projekt, [2]) dran und bietet deshalb ein schlankes, schnelles Android-System.

Nicht in Cyanogenmod enthalten sind jedoch die Google-Apps. Google drohte dem Projekt bereits früh mit rechtlichen Schritten, sollte es die Apps nicht aus dem ROM verbannen. Daher ist es in der Custom-ROM-Szene von Android üblich, Google-Apps wie Google Now, Google Suche, Play Store, Gmail, Youtube und viele mehr in einem separaten Paket und in einer separaten Quelle [3] anzubieten.

Okay, ich will das!

Wollen Sie Cyanogenmod 12 auf dem eigenen Gerät installieren, ist neben den Garantie-Überlegungen (siehe Kasten "Droht der Garantieverlust?") die wichtigste Voraussetzung, dass eine passende Version der Firmware existiert. Da es unter Android, im Unterschied zu Linux, keine generischen Firmwareversionen gibt, benötigt jedes Handy und jedes Tablet sein eigenes Cyanogenmod. Fehlt eine Version fürs eigene Smartphone, gibt es keine Möglichkeit, Cyanogenmod darauf zu installieren (es sei denn, Sie möchten sich in den Quellcode vertiefen und ein eigenes Custom-ROM basteln).

Droht der Garantieverlust?

Wer eine alternative Firmware einspielt, verliert nicht automatisch die Garantie an dem Gerät und schon gar nicht den Anspruch auf gesetzliche Gewährleistung. Da der Benutzer für die Installation einer Custom-ROM aber üblicherweise den Bootloader entsperren muss und die Hersteller bei der Herausgabe des dazu nötigen Entsperr-Codes den Benutzer normalerweise dazu zwingen, die Checkbox mit dem Kleingedruckten zu akzeptieren, ist ein gewisses Risiko vorhanden.

Am besten merken Sie sich folgende Faustregel: Ist das Handy noch keine sechs Monate alt, muss der Verkäufer des Geräts beweisen, dass Sie durch das Einspielen einer alternativen Firmware etwas zerstört haben. Sind die sechs Monate um, dann müssen Sie dem Hersteller hingegen beweisen, dass er für das Problem verantwortlich ist. Die Beweislage ist dann also genau umgekehrt. Den Bootloader ohne Unlock-Code zu entsperren ist aktuell nur bei den Nexus- und Android-One-Geräten von Google möglich. Bei allen anderen Herstellern müssen Sie einen Entsperr-Code beantragen oder den Bootloader per Exploit öffnen, was manchmal mit einer Software automatisiert gelingt.

Erste Anlaufstelle für eine Suche ist die Projektseite [1]. Ergänzend lohnt sich ein Blick ins Forum der XDA-Developer [8], wo es sehr viele inoffizielle Cyanogenmod-Builds gibt. Wer auch dort nicht fündig wird, befragt die Suchmaschine seines Vertrauens.

Linux-User müssen keine speziellen USB-Treiber installieren, aber ohne die Android-Bordwerkzeuge ADB und Fastboot geht es nicht. Wer bereits für Android entwickelt und deshalb das Android SDK installiert hat, verfügt schon über die beiden notwendigen Kommandozeilentools. Alternativ spielen »sudo apt-get install android-tools« (Debian & Co.) oder »zypper install android-tools« (unter Open Suse) diese ein.

Eine zweite Grundvoraussetzung für die Installation ist ein entsperrter Bootloader, um darüber ein Custom Recovery zu installieren. Dabei handelt es sich um eine Art Android-Bios mit zahlreichen Möglichkeiten. Bei den Nexus-Geräten entsperrt der simple Befehl »fastboot oem unlock« den Bootloader, bei anderen Herstellern ist es zum Teil deutlich komplizierter.

Im dritten Schritt geht es schließlich darum, das Custom Recovery zu installieren, über das Sie später Cyanogenmod flashen, wie es im Android-Jargon heißt. Der Artikel erklärt Schritt für Schritt, wie Sie die aktuelle Testversion von Cyanogenmod 12 (siehe Kasten "Namen und Nummern") auf das Nexus 5 bekommen. Die Anleitung ist möglichst generisch, damit sie auch für andere Nexus-Geräte oder Androiden funktioniert. Zur Sicherheit sollten Sie aber einen Blick in das englische Cyanogenmod-Wiki [9] werfen, ob es für Ihr Gerät Besonderheiten zu beachten gibt.

Namen und Nummern

Android-Versionen tragen 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 CM 7 und Ice Cream Sandwich zu CM 9. Ein CM 8 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.

USB-Debugging einschalten

Sowohl als Vorbereitung für den Bootloader als auch für die Installation von Cyanogenmod müssen Sie das USB-Debugging installieren, um via Linux-Rechner und USB-Kabel mit dem Handy zu kommunizieren. Es gibt auch die Möglichkeit, ADB über WLAN zu nutzen – darüber eine neue Firmware zu installieren ist jedoch nicht ratsam!

Um das USB-Debugging einzuschalten, scrollen Sie in den Android-Einstellungen ganz nach unten zum Eintrag »Über das Telefon« und tippen hier siebenmal hintereinander auf die Buildnummer, bis der Hinweis »Sie sind jetzt ein Entwickler« erscheint (Abbildung 1).

Abbildung 1: Das wiederholte Antippen der Buildnummer schaltet die Entwickleroptionen frei.

Im Menü »Über das Telefon« findet sich jetzt ein neuer Eintrag »Entwickleroptionen« , ein Fingertipp darauf öffnet die Optionen. Setzen Sie das Häkchen bei »USB-Debugging« (Abbildung 2), schließen Sie das Handy an den Rechner an und erlauben das USB-Debugging von diesem Rechner. Sind ADB und Fastboot korrekt auf dem Rechner installiert, brauchen Sie auch keine Admin-Rechte, um Befehle auszuführen.

Abbildung 2: Die Entwickleroption USB-Debugging erlaubt den Zugriff auf das Android-Gerät via USB-Kabel.

Ob alles geklappt hat, zeigt die Ausgabe von »adb devices« in einem Terminalfenster auf dem Linux-Rechner:

marcel@linux-taw3:~> adb devices
List of devices attached
013c26e0416d412d        device

Zugleich erfolgt auf dem Handy noch eine Sicherheitsabfrage (Abbildung 3). Weist die Antwort auf das Kommando das Gerät als offline aus, ist entweder das Display gesperrt oder der Security-Dialog zur Authentifizierung des Handys wartet noch auf Bestätigung. In ganz seltenen Fällen liegt der Fehler auch an einer veralteten ADB-Version.

Abbildung 3: Die Verbindung vom Linux-Rechner aus muss man auf dem Handy aus Sicherheitsgründen bestätigen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.