Nach vier Jahren wurde es mir mit meinem immer langsamer werdenden Nexus S doch etwas zu bunt. Das Nexus S kann ja eigentlich nicht mal etwas dafür und wäre immer noch top, wenn die Programme nicht (aus mir unerklärlichen Gründen) nach immer mehr Speicher und Leistung lechzen würden.
Wieso ist Google's Notizen-Programm inzwischen 18MB groß und braucht immer mehr und mehr Zeit, wenn ich es öffne? Ich will doch nur eine Text-Notiz eintippen! So geht's auch mit vielen anderen Programmen.
Aber da ich nicht unbedingt zu Android 4.2 oder noch älter zurückkehren will und dann wohl auch dort dasselbe Problem habe, wenn ich aus Versehen auf den großen Update-Button kommen sollte, muss halt doch mal ein mehr oder weniger neues Telefon her.

Meine Wahl ist auf das 2013er Moto X gefallen. Inzwischen recht günstig gebraucht zu haben (während die neuen Nexus-Handies ja für einen unverschämten Preis über die Ladentheke gehen), beinahe-Stock-Android und relativ einfach zu rooten.
Die Betonung liegt auf relativ. Ein paar Probleme, für die ich mir Lösungen zusammen suchen musste, traten dann doch auf und deshalb dieser Artikel...


In meinem Fall handelte es sich um ein europäisches Moto X erster Generation, Typ XT1052, Codename "ghost" mit Android 4.4.4

Warnung:
Beim Rooten geht die Hersteller-Garantie verloren und natürlich bleibt immer ein gewisses Risiko, dass man sein Gerät in ein unbrauchbares Stück Platinen und Plastik verwandelt. Ich übernehme keine Verantwortung, falls etwas schiefgehen sollte!

Noch eine Warnung:
Alle Daten auf dem Gerät werden bei diesem Vorgehen gelöscht!

Einkaufsliste

Was man sich vorher alles besorgen sollte:

  • Die Custom-Recovery TWRP für's Moto X 2013 (ghost)
    (ClockwordRecovery geht wahrscheinlich auch; ich verwende lieber TWRP)
  • Neues Boot-Logo in Form einer .bin-Datei, zum Beispiel von hier
    (Nach dem öffnen des Bootloaders erscheint bei jedem Start eine sehr unschöne Warnmeldung, dass der Bootloader offen ist und dass das ja gefährlich ist. Diese Warnung kann man hiermit kosmetisch überbügeln)
  • Die funktionierende fastboot-Binary von hier.
    (Ich musste leider feststellen, dass fastboot-Binary nicht gleich fastboot-Binary ist. Bei der, die ich für's Nexus S verwendet hatte, bekam ich beim Flashen der Recovery immer eine Fehlermeldung "Variable not supported")
  • Für den Fall der Fälle und nur für's Archiv: Die Standard-Recovery des Moto X 2013

Auf die SuperSU-Installationsdatei verzichte ich. Das macht die TWRP-Recovery von alleine ;-)

1. Bootloader öffnen

  1. Moto X ausschalten
  2. Moto X in den Bootloader booten.
    (Einschalttaste + Lautstärke-leiser gedrückt halten; es empfiehlt sich, erst die Lautstärke-Taste festzuhalten, dann 1-2 Sekunden auf die Einschalttaste zu drücken und dann die Einschalttaste los zu lassen und die Lautstärke-Taste noch weiter festzuhalten, bis der Bootloader-Bildschirm erscheint)
  3. Moto X mit dem USB-Kabel an den Computer anschließen (im Folgenden wird ein Mac verwendet)
  4. Terminal öffnen und in das Verzeichnis wechseln, das die entpackte fastboot-Binary enthält
    z.B.
    cd ~/Downloads/fastboot
  5. Unlock-Code anfordern
    ./fastboot oem get_unlock_data
  6. Den ausgegebenen Code, der entweder so
    (bootloader) 0A40040192024205#4C4D3556313230
    (bootloader) 30373731363031303332323239#BD00
    (bootloader) 8A672BA4746C2CE02328A2AC0C39F95
    (bootloader) 1A3E5#1F53280002000000000000000
    (bootloader) 0000000

    oder so
    INFO0A40040192024205#4C4D3556313230
    INFO30373731363031303332323239#BD00
    INFO8A672BA4746C2CE02328A2AC0C39F95
    INFO1A3E5#1F53280002000000000000000
    INFO0000000

    aussieht, kopieren.
    (bootloader)
    , Leerezeichen und Zeilenumbrüche mit Hilfe eines Texteditors entfernen
  7. Dieser Code muss nun auf der Motorola-Website eingetragen werden, worauf man per E-Mail einen Schlüssel zurückgesendet bekommt. Dies geschieht zum Glück recht schnell.
  8. Achtung: Bei diesem Schritt wird das System auf Werkseinstellung zurückgesetzt und alle Daten werden gelöscht!
    Auf der Kommandozeile:
    ./fastboot oem unlock <SCHLÃœSSEL AUS E-MAIL OHNE DIESE KLAMMERN>
  9. Nun startet das Gerät neu
  10. Optional: Nun noch die nervige Warnmeldung entfernen. Das zuvor heruntergeladene Boot-Logo liegt in Form einer .bin-Datei (also ggf. entpacken) im selben Verzeichnis wie die fastboot-Binary
    Nochmals in den Bootloader booten und:
    ./fastboot flash logo <NAME DER LOGO-DATEI OHNE DIESE KLAMMERN>

2. Custom Recovery installieren

Info: Die installierte Recovery wird, sofern nicht weitere Schritte unternommen werden, nach jedem System-Neustart gelöscht.
Da bei den meisten Anleitungen nach dem Flashen der Recovery der nächste Schritt ein Neustart war, wunderte ich mich, wieso das Gerät nur das Bild eines toten Androiden anstatt der Recovery zeigt.
Ich empfehle, nach dem Flashen nicht neu zu starten!

  1. Recorvery liegt in Form einer .img-Datei im selben Verzeichnis, wie die fastboot-Binary
  2. ./fastboot flash recovery <NAME DER RECOVERYDATEI OHNE DIESE KLAMMERN>
  3. Sofern der Flash-Vorgang erfolgreich war mit der Lautstärke-Leiser-Taste zu "Recovery" navigieren und mit der Lautstärke-Lauter-Taste starten. Die Recovery sollte sich öffnen.
    Falls nicht: Richtige Recovery für Gerät mit dem Codenamen "Ghost" verwendet? Korrekte fastboot-Binary verwendet? Ich bekam mit einer (möglicherweise) falschen fastboot-Binary zum Beispiel immer die Fehlermeldung "(bootloader) Variable not supported".
    Wurde das Gerät zwischenzeitlich neu gestartet, Recovery nochmals flashen.

3. Root!

Bei den meisten Anleitungen ist der nächste Schritt, die SuperSU herunterzuladen, auf das Gerät zu schieben und dann von der Recovery aus zu installieren.

Leider konnte ich den Gerätespeicher nicht über die Recovery am Computer mounten, wie ich es von meinem Nexus S gewohnt war, um die Datei rüberzukopieren.

Nachtrag am Rande: Wenn die Software Datenübertragung für Android auf dem angeschlossenen Computer installiert ist, hat man bei gebootetem Recovery Zugriff auf den Moto-Speicher!

Dieser Schritt war allerdings auch nicht notwendig. Wenn man die Recovery verlassen will, indem man auf "Reboot" geht, stellt die TWRP Recovery fest, dass keine SuperSU-Binary installiert ist und schlägt vor, das selbst zu tun.
Diesen Vorschlag empfehle ich, anzunehmen. Nach einem Neustart verlangt das System dann noch das eine oder andere Update von "SuperSU", welches man immer über den Play-Store versuchen sollte, statt über die Recovery (da die Recovery nach diesem Neustart nun ja nicht mehr vorhanden ist).

Gratulation, das Moto X ist nun gerootet!

Custom Recovery behalten

Wie weiter oben erwähnt: Die im 2. Schritt installierte Custom Recovery wird bei jedem Neustart des Gerätes durch die Standard-Recovery ersetzt.
Dies ist für den normalen Betrieb nicht weiter tragisch, möchte man die Vorteile einer Custom Recovery allerdings regelmäßig nutzen (z.B. Backup, Cache leeren,...), wäre es schick, wenn man die Recovery vor der Nutzung nicht immer erst wieder mit Hilfe eines Computers neu flashen müsste.

Die automatische Lösch-Funktion sollte durch Umbenennen der Datei /system/recovery-from-boot.p unterbunden werden.

Ich habe dies selbst noch nicht getestet, aber es sollte ausreichen, mit einem Datei-Manager wie etwa Solid Explorer in das /system-Verzeichnis zu wechseln und die Datei recovery-from-boot.p in recovery-from-boot.p.bak umzubenennen.
Danach die Custom Recovery nochmals wie in Schritt 2 beschrieben, installieren.

Weitere Schritte

Dieses Mal habe ich – zumindest für den Moment – auf die Installation eines CustomROMs verzichtet. Auf dem Moto X läuft ein beinahe-Vanilla-Android mit ein paar Goodies wie etwa dem ActiveDisplay und der AlwaysOn-Spracheingabe.
Mit einem CustomROM würde hier hier nicht viel gewinnen.

Um den Funktionsumfang trotzdem etwas zu erweitern, gibt es seit einiger Zeit das grandiose XPosed-Framework.
Sozusagen der Bohr-Hammer, um Android etwas aufzubohren.

  1. Installer von hier installieren
  2. Ãœber den Installer das Framework installieren
  3. Neustarten und Daumen drücken (bei meinem Nexus S hatte mir mir der Installer einmal das ganze System zerschossen)
  4. Alle gewünschten Module installieren (die dann ebenfalls nach einem Neustart zur Verfügung stehen)

Von mir installierte Module:

  • GravityBox (KitKat-Version); JellyBean und Lollipop-Version sind alternativ erhältlich
    Unzählige Möglichkeiten, das System zu optimieren. Z.B. Nav-Bar-Buttons mit weiteren Funktionen belegen, Schnelleinstellungen anpassen, Navigations-Ring mit Wunsch-Programmen belegen, Cursor bei Tastatureingabe mit den Lautstärke-Tasten steuern, beim Musik-hören bei ausgeschaltetem Bildschirm mit Lautstärke-Tasten zum nächsten Titel springen, etc...
  • AppOpsXposed
    Fügt in den Systemeinstellungen einen neuen Punkt "AppOps" hinzu, um Programmen bestimmte Rechte wieder zu entziehen
  • Native Clip Board
    Multi-Clipboard
  • WifiKey
    WLAN-Schlüssel gespeicherter WLAN-Netze anzeigen
  • XPosed Preferences Injector
    Fügt in den Systemeinstellungen für (fast) jedes installierte XPosed-Modul einen Punkt hinzu, um schnell zu den jeweiligen Einstellungen zu geladen.

Back to the Roots

(dieses Wortspiel konnte ich mir nicht verkneifen)

Will man wieder zur Standard-Recovery zurück, flasht man einfach anstatt der TWRP-Recovery die .img-Datei, die ich am Ende der Einkaufsliste aufgelistet hatte.

./fastboot flash recovery standard-recovery.img

Dass diese Recovery den Geräte-Neustart eher überlebt, wage ich aber zu bezweifeln.

Mit
./fastboot oem lock
kann man den Bootloader wieder sperren, wobei der Bootloader somit nur noch den Status "ich war mal offen, bin nun aber wieder gesperrt" und nie wieder "gesperrt" haben wird.