Motorola Moto X4 – Installation Lineage OS

Heute wurde mein neues Telefon angeliefert, das Motorola Moto X4. Die Gründe für das Moto X4 waren:

  • Nicht zu gross (5.2″)
  • Dual-Sim
  • Akku 3000 mAh
  • Preis unter CHF 300.00
  • NFC vorhanden
  • Offizieller Build-Release von Lineage OS

Ich möchte das Telefon nicht mit dem Stock-Release von Motorola benutzen. Das Moto X4 soll mit Lineage OS beglückt werden. Dieser Blog-Post basiert auf dem Post von eines Pro-Linux Artikels sowie einem Install-Video und beinhaltet zusätzlich Änderungen aufgrund meinen eigenen Erfahrungen mit dem Moto X4 (Installation TWRP, etc.).

Installation

Mein Installations-Ablauf:

  • Developer-Modus einschalten
  • Handy über adb-Tools (Android Debug Bridge – kurz ADB) starten
  • Bootloader OEM-Sperre entfernen
  • Team Win Recovery Project (TWRP) flashen (Recovery-Modus)
  • Backup des Stock-ROMS erstellen
  • Firmware für Moto X4 aufspielen
  • LineageOS auf SD-Karte aufspielen

Siehe auch

Link

Developer-Modus einschalten

  • Das Telefon beim ersten Start ohne Sim-Karte und ohne Speicher-Karte starten.
  • Durchbooten bis zum Desktop
  • Einstellungen > Über das Telefon aufrufen
  • 7x auf die Build-Nummer Tippen => Das Telefon meldet nun, dass Sie nun “Entwickler” sind => Developer-Modus ist damit aktiviert.
  • Nun erscheint unter den Einstellungen zusätzlich der Eintrag “Entwickleroptionen”
  • Unter den Entwickleroptionen folgende Optionen aktivieren:
    • OEM Entsperrung und
    • USB Debugging

Nun ist das Telefon soweit bereit um es verändern zu können.

Handy über adb-Tools (Android Debug Bridge – kurz ADB) starten

Mit der Android Debug Bridge – kurz ADB – kann man ein Android-Smartphone verwalten. Es ist grundsätzlich für Entwickler gedacht und bietet ein paar coole Funktionen. Ich verwende die adb unter Ubuntu-Linux. Die adb kann folgendermassen installiert werden:

sudo apt-get install android-tools-adb
sudo apt-get install android-tools-fastboot

Nun das Telefon mit dem Linux-Rechner verbinden:

  • Per USB3-Kabel das Telefon mit dem Linux-Rechner verbinden
  • Auf dem Telefon nochmals kurz USB-Debugging de- und wieder aktivieren
  • Nun können über die Linux-Konsole Befehle an das Telefon gesendet werden. Damit das aber funktioniert, muss der Linux-Rechner noch autorisiert werden. Dies geschieht indem ein Befehl an das Telefon gesendet wird.
  • adb reboot bootloader
  • Auf dem Telefon erscheint automatisch die Anfrage ob der Rechner autorisiert werden soll. Hier nun die Genehmigung erteilen:
  • Ein Reboot des Bootloaders zeigt nun folgendes Bild, wobei ersichtlich ist, dass das Gerät “oem_locked” ist:
  • Um Lineage OS aufspielen zu können, muss der auf dem Bootloader der oem-lock entfernt werden.

Bootloader OEM-Sperre entfernen

Motorola bietet Entwicklern die Möglichkeit, den oem-lock zu entfernen. Damit einher geht, dass die Garantie entfällt. Und so geht es:

  • Link zu Motorola aufrufen > Unlock your bootloader > Get started > Next
  • Nun muss man sich anmelden. Das geht entweder mit einem Google-Account oder aber mit einem Motorola-Konto. Ich habe weder noch. Ich verwende deswegen den Link “Mit Motorola ID anmelden”. Hier werde ich aufgefordert eine Motorola-ID zu erstellen.
  • Nun eine Motorola-ID erstellen und anschliessend anmelden. Nach dem Login wird angezeigt, wie man das Device unlocked:
    • fastboot oem get_unlock_data
      ...
      (bootloader) Unlock data:
      (bootloader) 3AasdfaSDddasdf1#5asdd232344839
      (bootloader) 434E5A006DASDFASD678340000#3F14
      (bootloader) BF2C22D54C36CD73EB12C31DF400F1A
      (bootloader) 55769#FE0D752201561568645130000
      (bootloader) 0000000
      OKAY [  0.013s]
      finished. total time: 0.013s

      Daraus muss ein einzeiliger String erstellt werden, den man auf der unlock-Seite von Motorola eingibt:

    • Nun erscheint am Ende der Motorola-Site ein Unlock-Button:
    • Nun wird ein Mail mit dem Unlock-Key zugestellt:
    • Mit dem Key kann nun der Bootloader unlocked werden. Anstelle “UNIQUE_KEY” muss der im Mail zugestellte Key verwendet werden:
    • fastboot oem unlock UNIQUE_KEY
    • Der Befehl muss nun nochmals zwecks Bestätigung wiederholt werden. Anschliessend ist das Gerät offiziell unlocked! 🙂
    • Um zu überprüfen ob der Unlock wirklich geklappt hat, kann das Telefon nochmals gerebooted werden und dann nochmals in den Bootloader gebooted werden:
    • adb reboot bootloader
    • Voilà. “flashing_unlocked” bestätigt dies:

Team Win Recovery Project (TWRP) flashen (Recovery-Modus)

Team Win Recovery Project (TWRP) ist ein Custom-Recovery-System für Android-Geräte. Es wird über unseren unlocked Bootloader in die Recovery-Partition des Telefons geschrieben. Anschliessend kann TWRP über den Bootloader unabhängig vom System gestartet werden. Mit TWRP können wir unser System Backupen, Restoren aber auch ein anderes OS (Custom-Roms) aufspielen:

  • Die TWRP-Version für Moto X4 auf twrp.me suchen und downloaden => https://twrp.me/motorola/motorolamotox4.html
  • Bei einer Erstinstallation müssen zwei Files heruntergeladen werden (twrp-installer-payton-3.2.3-1.zip und twrp-3.2.3-1-payton.img)
  • Nun temporär TWRP auf dem Telefon starten. Das kann durch folgenden Befehl ausgelöst werden:
  • fastboot boot Downloads/twrp-3.2.3-1-payton.img

    Nun kann das ZIP-File auf das Telefon bzw. auf die sdcard kopiert werden:

  • adb push Downloads/twrp-installer-payton-3.2.3-1.zip /sdcard
    [100%] /sdcard/twrp-installer-payton-3.2.3-1.zip

    Nun kann im TWRP über “Installieren” das Installer-ZIP ausgewählt und installiert werden. Damit wird TWRP fix auf der Recovery-Partition installiert:

  • Nun das Telefon neu starten. Dabei installiere ich die TWRP-App als Systemapplikation, so dass zukünftige TWRP-Updates über die App installiert werden können:
  • Das Telefon Startet nun neu.
  • Ab sofort kann beim Aufstarten des Telefons mittles gleichzeitigem Drücken von  “Power Button” und “Lautstärke Down” in den Bootloader gebootet werden.
  • Im Bootloader kann nun mittles Lautstärken-Buttons der Recovery-Mode ausgewählt und bestätigt werden (Power Button). Anschliessend wird in TWRP gebootet:
  • Nun können diverse Funktionen mit TWRP verwendet werden. 🙂

Backup des Stock-ROMS erstellen

Mittles TWRP erstellen wir nun ein Backup unseres Stock-ROMs. Dies, damit wir im “Worst Case” Fall das System wieder in den Ursprungs-Zustand versetzten können:

  • In TWRP booten
  • Löschen/Wipe auswählen
  • Erweitertes Löschen auswählen
  • Optionen auswählen
    • Dalvik / ART Cache
    • Interner Speicher
  • Löschen bestätigen
  • Zurück
  • Diesen Löschvorgang zweimal durchführen => Soll teilweise nötig sein…
  • Zurück zum TWRP Start-Screen gehen.
  • Sichern / Backup auswählen und folgende Partitionen auswählen:
    • Boot (64MB)
    • Data (ohne /data/media)
    • System (2690MB)
  • Name des Backup-Files benennen
  • Speicher auswählen (ich verwende den internen Speicher)
  • Sicherung erstellen
  • In meinem Falle hat das nicht funktioniert (Fehler 255), deswegen hab ich diesen Schritt übersprungen – No Risk No Fun

Firmware für Moto X4 aufspielen

  • Download https://www.androidfilehost.com/?fid=890278863836292604
  • Entpacken und flash-all.sh ausführen. Dies kopiert die Images von Slot A nach Partition B. Das ist notwendig um Lineageos auf Partition B installieren zu können.
  • $ ./flash_all.sh 
    target reported max download size of 536870912 bytes
    sending 'abl_a' (1024 KB)...
    OKAY [  0.024s]
    writing 'abl_a'...
    OKAY [  0.062s]
    ...
    ...
    ...
    OKAY [  0.039s]
    finished. total time: 0.121s

    Jetzt mit fastboot das twrp-image auf das Telefon pushen und booten:

  • fastboot boot twrp-3.2.3-1-payton.img

    Es wird nun TWRP gestartet.

  • Nun das TWRP-ZIP auf das Telefon kopieren
  • adb push twrp-installer-payton-3.2.3-1.zip /sdcard/

    Nun im TWRP über Install das kopierte TWRP auswählen und installieren (swipe to install).

  • Dies installiert das TWRP sowohl auf Slot A als auch auf Slot B.
  • Nun rebooten (keine twrp-Apps installieren). Wenn das Stock Rom wieder sauber bootet, hat alles funktioniert.
  • Wieder in den bootloader booten und Recovery Mode auswählen > Es wird nun TWRP gestartet.
  • Nun das LineageOS Rom und die GApps auf das Telefon kopieren
  • adb push lineage-15.1-20181002-nightly-payton-signed.zip /sdcard/
    [100%] /sdcard/lineage-15.1-20181002-nightly-payton-signed.zip
    ralwet@Z97X-Gaming-5:~/Schreibtisch/Moto X4 Work$ adb push MindTheGapps-8.1.0-arm64-20180808_153856.zip /sdcard/
    [100%] /sdcard/MindTheGapps-8.1.0-arm64-20180808_153856.zip

    Nun im TWRP > Install

  • LineageOs auswählen
  • Add more ZIP auswählen und
  • das TWRP-ZIP File mit auswählen (gem. Video)
  • Dann Swipe to Install
  • Nachdem die Installation abgeschlossen ist, nicht rebooten sondern
  • Wipe Cache auswählen
  • Dann Reboot > Recovery => Dies bootet wieder nach TWRP
  • Nun über Install die GApps mit installieren (Minde the Gapps ZIP)
  • Nun Reboot System