CyanogenMod installieren per Archlinux (HTC One M8)

CyanogenMod ist eine Androiderweiterung für die verbreitetsten Smartphones. Die grössten Vorteile gegenüber dem Stock-Android sind, dass man sich von den Fesseln der Hersteller lösen kann und eine wesentlich grössere Anzahl an Konfigurationsmöglichkeiten hat.

In diesem Workaround werde ich Schritt für Schritt erklären, wie man mit ADB und Fastboot arbeitet, mit diesen Werkzeugen ein Smartphone (HTC One M8) rootet und CyanogenMod installiert.

DSC_0143

1. Was bringt rooten?

Das, was man im grunde als “rooten” bezeichnet, ist die Einrichtung eines Root-Users und einer Software, welche dessen Rechte verwaltet. Über dieses Superuser-Programm können später höhere Privilegien, die des Root-Users, an Apps verteilt werden.

Konkret: Die Anzahl verfügbarer Apps steigt. Es lassen sich auch Apps installieren, welche die Privilegien des Root-Users benötigen um beispielsweise direkt auf die Hardware zugreifen zu können oder andere Programme beeinflussen müssen. So ist es mit den Rootrechten auch möglich Firewallapplikationen, Netzwerksniffer, Adblocker, Terminal, Remote-Tools und so weiter zu installieren.

1.1. Warum per Kommandozeile rooten?

Es gibt einige grafische Tools, welche einem diese Arbeit abnehmen. Zum besseren Verständnis der Materie und zur später besseren Administration, ist von solchen Tools abzuraten. Das Risiko eines Datenverlusts oder zerstörten Smartphones ist aufgrund der im Hintergrund ablaufenden Prozesse einiges höher.

1.2. Was ist ADB?

ADB (Android Debug Bridge) ist ein Tool für Android Entwickler. Damit lassen sich Apps installieren und deinstallieren, Daten zwischen Telefon und Rechner hin und her kopieren, Befehle in der Shell von Android ausführen, etc.

1.3. Was ist Fastboot?

Fastboot ist ein Diagnose und Entwicklungstool von Android. Bei vielen Geräten ist Fastboot ohne weitere Modifikation verfügbar. Diesen Modus kann man auf verschiedene Wege aufrufen. Wir werden ihn später per ADB starten.

Das Feature kann dazu verwendet werden, angepasste und unsignierte System-Images zu flashen. Die Ansteuerung des Smartphones erfolgt per PC, in der Regel über das Kommandozeilentool “fastboot”. Dieses ist Bestandteil des Android-SDK.

2. Vorbereitungen treffen

2.1. ADB und Fastboot installieren unter Archlinux

Die beiden Tools ADB (Android Debug Bridge) und Fastboot müssen auf dem Rechner installiert werden. Unter Archlinux kann man die beiden Pakete bequem aus dem User Repository herunterladen.

Dazu müssen zunächst die Tarballs heruntergeladen werden. Wie man Pakete aus dem Arch User Repository installiert, erkläre ich unter “Arch Linux: AUR Pakete manuell installieren

https://aur.archlinux.org/packages/adb/
https://aur.archlinux.org/packages/fastboot/

2.2. Recovery (ClockworkMod) und CyanogenMod downloaden

Bei diesem Schritt ist es wichtig, dass unbedingt die zum Gerät passenden Versionen heruntergeladen werden!

Hier das passende Image für das eigene Device downloaden:
http://clockworkmod.com/rommanager

Hier die passende Version des CyanogenMods downloaden:
http://download.cyanogenmod.org/

2.3. ADB unter Android aktivieren

Um ADB verwenden zu können, muss man erst Developer werden. Zum Glück geht das unter Android sehr einfach. Tippt man einige male unter “Einstellungen” -> “Info zu Gerät” auf die “Build Number”, erscheint die Meldung man sei jetzt Entwickler.

Sobald dies erledigt ist, sollte unter den “Einstellungen” ein neuer Menüpunkt erschienen sein: “Entwickleroptionen”. In diesem Menü kann nun “USB-Debugging” aktiviert werden.

3. Recovery installieren

3.1. Im Fastboot-Mode booten

Zunächst muss das Telefon in den Fastboot-Mode gebracht werden. Dies kann einerseits per Tastenkombination (ähnlich wie DFU-Mode bei iDevices) andererseits auch per ADB erreicht werden.

Ist ADB aktiviert, kann man testen ob die Verbindung funktioniert, indem der Befehl adb devices ausgeführt wird. Auf dem entsperrten Smartphone sollte eine zu bestätigende Meldung erscheinen, welche fragt, ob dem Computer vertraut werden soll. Hat man dies erledigt, sollte das Smartphone angezeigt werden (falls nicht -> siehe weiter unten).

Das Telefon sollte sich nun ausschalten und automatisch in den fastboot-Mode booten. Dieser sieht meist so aus wie auf dem folgenden Bild, kann aber je nach Modell etwas variieren.

Fastboot (CyanogenMod installation)

3.2. Fastboot testen und Image flashen

Nun kann mit dem Befehl fastboot devices getestet werden, ob das Gerät erkannt wird. Die Gerätekennung sollte ausgegeben werden (falls nicht -> siehe weiter unten).

Hat dies geklappt, kann das neue Image geflasht werden. Dazu verwenden wir die im SDK einprogrammierte Funktionalität.

3.3. Gerät im Recovery Mode starten

Sobald der Vorgang erfolgreich abgeschlossen wurde, muss das Gerät im Recovery-Mode gestartet werden. Dies wird wie folgt durchgeführt (bei HTC One M8):

  • Das Gerät muss komplett ausgeschaltet sein!
  • Nun muss der Volume Down-Knopf und der Einschaltknopf gehalten werden, bis HBOOT erscheint
  • Nun können die Knöpfe losgelassen werden
  • mit Hilfe der Lautstärketeasten kann nun “Recovery” ausgewählt werden
  • Dies bestätigt man mit der Betätigung des Power-Buttons

Nun sollte das Gerät mit Clockworkmod starten. Dies ist ein Custom-Recovery für Android Smartphones. Neben TWRP (Teamwin Recovery Project) ist Clockwormod einer der bekanntesten Recovery-Modes und kann zum Verwalten der Software auf dem Smartphone verwendet werden.

Genau dies nutzen wir im nächsten Schritt aus, um die neuste Version des CyanogenMods zu installieren.

3.4. (Optional) Backup erstellen

Unter dem Punkt “backup and restore” kann ein backup des aktuellen ROMs erstellt werden.

3.5. CyanogenMod installieren

Zunächst muss der Speicher gewipet werden. Dazu wählt man im Menu den Punkt “wipe data/factory reset”.

Während man sich nun im Recovery befindet, funktioniert ADB immer noch. Über diese Schnittstelle kann nun das CyanogenMod Zip-File auf den internen Speicher kopiert werden.

Nun kann auf dem Smartphone der Punkt “install zip” und danach “choose zip from /sdcard” ausgewählt werden. Dort klickt man auf die zuvor transferierte Zip-Datei und installiert diese.

Im Hauptmenü kann nun ein Neustart ausgelöst werden. Das Smartphone sollte nun mit CyanogenMod starten!

4. Troubleshooting

4.1. Fastboot und/oder ADB erkennt das Gerät nicht

Wird das Gerät per Befehl lsusb aufgelistet und per adb devices erhält man nur ???????????? device als Rückgabewert, so kann man versuchen die UDEV-Regeln neu zu laden:

Bewirkt diese Massnahme nichts, kann man versuchen ADB erneut als Superuser zu starten:

Sollte auch diese Massnahme zu keiner Lösung führen, startet man am besten beide Geräte neu (Computer und Smartphone).

4.2. Anstatt Custom Recovery Mode (Clockworkmod) lädt der Stock Recovery

Manche ROMs überschreiben den Recovery erst während dem Starten. Ist dies der Fall, muss man unbedingt als erstes im Recovery Mode starten und direkt CyanogenMod installieren. Ansonsten wird der Custom Recovery-Mode wieder überschrieben.