LineageOS für OnePlus 3T

oneplus 3T

Ausgangssituation

Ich habe ein Android-basiertes Smartphone vorliegen. Es handelt sich dabei um ein OnePlus 3T, das Ende 2016 auf den Markt kam. Gewährleistung/Garantie für das Gerät gibt es also nicht mehr.

Im Moment ist OxygenOS 9.0.6 vom Juni 2019 mit Security-Patch 2019.10 vom November 2019 installiert. OxygenOS ist eine Android-Distribution die auf Android 9 (Codename „Pie“) basiert.

Android ist ein freies Betriebssystem und eine Software-Plattform für Mobilgeräte, die den Linux-Kernel verwendet. Ende 2019 erschien Android 10.

Problematik

In bestimmten Situationen funktioniert das Mikrofon im Gespräch nicht. Die Symptome deuten auf ein Softwareproblem hin. Es ist bereits das neueste Update des Herstellers installiert.

OnePlus wird vermutlich kein Update mehr auf OxygenOS 10, basierend Android 10, mehr für das OnePlus 3T bringen.

Deshalb soll eine alternative freie Android-Distribution installiert werden.

Datensicherung / Rücksetzen

Beim vorliegenden Gerät ist keine Datensicherung erforderlich. Das Gerät wurde bereits auf Werkseinstellungen zurückgesetzt.

Einstellungen > System > Optionen zurücksetzen > Alle Daten löschen (Werkseinstellungen)

In der Regel sollen die Daten des Smartphones vor dem Rücksetzen gesichert werden. Dazu gibt es verschiedene Methoden. Im Wesentlichen sichert man die Daten entweder lokal oder in eine Cloud. Zum einen sind die Medien-Dateien (Bilder, Videos, Musik) und Dokumente, zum anderen Daten und Einstellungen von Apps zu sichern. Die Apps selbst lassen sich i.d.R. aus dem store wieder herunterladen und installieren. Wer den Google Playstore und die Google Tools nutzt kann seine Dateien und Einstellungen mit Google drive synchronisieren. Alternativ kann Helium-Backup für eine lokale Sicherung verwendet werden. Weitere Möglichkeiten zur Sicherung sind z.B. hier beschrieben.

alternative Android-Distribution

Android

<a title="Android, Google [Public domain], via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File:Android_logo_2019.png"><img width="512" alt="Android logo 2019" src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Android_logo_2019.png/512px-Android_logo_2019.png"></a>

Gute Websites als Startpunkt zum Thema Android sind z.B. xda-developers oder androidpit. Es gibt bei xda-developers für nahezu jedes Mobilgerät einen eigenen Bereich, auch für das OnePlus 3T. Hier kann man z.B. in Erfahrung bringen welche Distros für das Gerät verfügbar sind.

LineageOS

LineageOS
By LineageOS LLC – https://lineageos.org, CC BY-SA 4.0, Link

Ich habe mich dazu entschieden die freie Android-Distribution LineageOS zu installieren. Es gibt u.a. eine Übersichtsseite zum OnePlus 3/3T, eine Installationsanleitung und Downloads.

Android SDK platform tools

Am Betriebssystem des PCs/Notebooks, das mit dem Smartphone verbunden wird, müssen die Android SDK platform tools vorhanden sein (beinhaltet adb und fastboot). Man kann entweder diese zip-Datei herunterladen und entpacken oder die Pakete vom repo installieren.

sudo apt-get install android-tools-adb android-tools-fastboot
adb version
Version 1:8.1.0+r23-5
 Installed as /usr/lib/android-sdk/platform-tools/adb

Mit sudo adb kill-server kann man den ADB-Server bei Bedarf stoppen, mit sudo adb start-server starten.

Um auf ein Android-Gerät zugreifen zu können muss zuvor im Android USB-debugging aktiviert werden.

Einstellungen > über das Telefon > 7x Build-Nummer drücken

Einstellungen > System > Entwickleroptionen > USB debugging > einschalten > bestätigen

Danach kann das Smartphone via USB mit dem PC / Notebook verbunden werden.

tail -f /var/log/syslog
Dec 15 16:27:20 linux kernel: [29620.955566] usb 1-2: new high-speed USB device number 5 using xhci_hcd
 Dec 15 16:27:20 linux kernel: [29621.104665] usb 1-2: New USB device found, idVendor=2a70, idProduct=4ee7, bcdDevice= 3.18
 Dec 15 16:27:20 linux kernel: [29621.104669] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 Dec 15 16:27:20 linux kernel: [29621.104671] usb 1-2: Product: Android
 Dec 15 16:27:20 linux kernel: [29621.104673] usb 1-2: Manufacturer: Android
 Dec 15 16:27:20 linux kernel: [29621.104675] usb 1-2: SerialNumber: 66f4c7da
 Dec 15 16:27:20 linux mtp-probe: checking bus 1, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
 Dec 15 16:27:20 linux mtp-probe: bus: 1, device: 5 was not an MTP device
 Dec 15 16:27:20 linux mtp-probe: checking bus 1, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
 Dec 15 16:27:20 linux mtp-probe: bus: 1, device: 5 was not an MTP device

adb devices
 List of devices attached
 daemon not running; starting now at tcp:5037
 daemon started successfully
 66f4c7da    unauthorized 

Am Smartphone ist der Verbindung zuzustimmen.

USB debugging
Photo: OxygenOS 9, Screenshot: Otmar Meier, unter CC-BY-SA-3.0
adb devices
 List of devices attached
 66f4c7da    device

Es wurde erfolgreich eine Verbindung zum Smartphone hergestellt.

Vorbereitung nächste Schritte

Die CPU-Architektur des OnePlus 3T ist arm64. Bei manchen Downloads wird nicht das passende Smartphone-Modell, sondern die CPU-Architektur angegeben. LineageOS 16 basiert auf Android 9, LineageOS 17 (12/2019 noch Beta) basiert auf Android 10.

Zunächst muß das Smartphone entsperrt werden und danach ein custom recovery installiert werden. Ich verwende dazu TWRP für OnePlus 3/3T, das hier heruntergeladen werden kann.

Danach wird mit Hilfe des Recovery TWRP das Betriebssystem LineageOS installiert, das hier heruntergeladen werden kann.

Rooten ermöglicht Apps größeren Funktionsumfang und Zugriff auf ansonsten gesperrte Betriebssystemfunktionen. Man kann damit z.B. vollumfängliche Datensicherungen aus einer Backup-App erstellen und gut funktionierende Werbeblocker installieren. Dies geht aber mit potentiellen Sicherheitsrisiken einher, so dass viele sicherheitskritische Apps den Dienst auf gerooteten Geräten verweigern, z.B. Banking-Apps. Magisk kann das rooten vor einigen Apps verstecken, so dass sie trotz rooten funktionieren.

Wenn man Android rooten möchte kann noch das LineageOS-Addon addonsu installiert werden, das man hier herunterladen kann. In den Entwickleroptionen kann dann bei Bedarf root aktiviert werden. Es sollte kein supersu mehr installiert werden, da es nicht weiterentwickelt wird! Als Alternative zu addonsu kann Magisk installiert werden, das man hier herunterladen kann.

Wer den Google Playstore und die Google Tools verwenden möchte kann die Open GApps installieren.

Es gibt einige Alternativen zum Google Playstore, z.B. F-Droid, der nur freie Apps im store anbietet. Die Sicherheit alternativer stores ist nicht immer gleichwertig zum Google playstore.

Entsperren

Das OnePlus 3T ist via USB debugging mit dem PC / Notebook verbunden. Die Android SDK plattform tools (adb und fastboot) sind installiert, der ADB Server läuft und das Smartphone wird mit adb devices als attached angezeigt. Alle relevanten Downloads aus dem vorherigen Punkt Vorbereitung liegen bereit. Am Smartphone nun das Entsperren vorbereiten.

Einstellungen > System > Entwickleroptionen > OEM-Entsperrung > aktivieren > bestätigen

Jetzt wird das Smartphone in das Recovery rebootet.

adb reboot bootloader

Das Smartphone start in das Recovery des Herstellers.

Recovery
Photo: Recovery, Screenshot: Otmar Meier, unter CC-BY-SA-3.0

fastboot mode aktivieren und entsperren

fastboot devices
66f4c7da    fastboot
fastboot oem unlock
 …
 OKAY [  0.046s]
 finished. total time: 0.046s

Mit Volume up/down das Entsperren (unlock the bootloader) auswählen und mit Power bestätigen.

Nach dem Entsperren ist das Smartphone auf Werkseinstellungen zurückgesetzt. Das Gerät muß nun provisorisch eingerichtet (alle Einstellungen überspringen bzw. Standard bestätigen) und das USB debugging wieder aktiviert werden. Das Smartphone wird nun wieder mit adb devices als attached angezeigt.

custom recovery TWRP

Jetzt soll das recovery des Herstellers das custom recovery TWRP ersetzt werden.

Nun in das recovery starten, fastboot mode aktivieren und custom recovery TWRP installieren.

adb reboot bootloader
fastboot devices
 66f4c7da    fastboot
cd $HOME/Downloads
ls -l
insgesamt 1025792
 -rw-r--r-- 1 otmanix otmanix 642956368 Dez 15 18:43 lineage-16.0-20191215-nightly-oneplus3-signed.zip
 -rw-r--r-- 1 otmanix otmanix 371069618 Dez 15 18:56 open_gapps-arm64-9.0-mini-20191214.zip
 drwx------ 5 otmanix otmanix      4096 Dez 15 15:47 platform-tools
 -rw-r--r-- 1 otmanix otmanix   8116675 Dez 15 15:47 platform-tools_r29.0.5-linux.zip
 -rw-r--r-- 1 otmanix otmanix  28243244 Dez 15 18:23 twrp-3.3.1-1-oneplus3.img
 -rw-r--r-- 1 otmanix otmanix       566 Dez 15 18:23 twrp-3.3.1-1-oneplus3.img.asc
fastboot flash recovery twrp-3.3.1-1-oneplus3.img
target reported max download size of 440401920 bytes
 erasing 'recovery'…
 OKAY [  0.020s]
 sending 'recovery' (27581 KB)…
 OKAY [  0.911s]
 writing 'recovery'…
 OKAY [  0.199s]
 finished. total time: 1.130s
fastboot boot twrp-3.3.1-1-oneplus3.img
 downloading 'boot.img'…
 OKAY [  0.854s]
 booting…
 OKAY [  0.531s]
 finished. total time: 1.385s

Team Win Recovery Project (TWRP) ist installiert. Nun noch auf deutsch umstellen und Änderungen zulassen.

LineageOS

Im TWRP wird nun das vorhandene Android (OxygenOS) gelöscht. Löschen (wipe) drücken. Daten formatieren (format data) drücken. Mit yes bestätigen. Ins Hauptmenü zurück wechseln.

Löschen (wipe) drücken. Erweitertes Löschen (advanced wipe) drücken, Cache und system auswählen. Löschen bestätigen. Ins Hauptmenü zurück wechseln.

Erweitert (advanced) drücken. ADB sideload drücken.

Nun LineageOS via adb sideload installieren.

adb devices
 List of devices attached
 66f4c7da    sideload
adb sideload lineage-16.0-20191215-nightly-oneplus3-signed.zip
serving: 'lineage-16.0-20191215-nightly-oneplus3-signed.zip'  (~47%)    adb: failed to read command: Success

Open gApps

Nun Open gApps via adb sideload installieren.

adb sideload open_gapps-arm64-9.0-mini-20191214.zip
Total xfer: 1.44x 

Jetzt System neustarten.

Erster Start LineageOS

Der Start von LineageOS lief erfolgreich. Nach der Grundeinrichtung war das Gerät einsatzfähig, die Open gApps erfolgreich installiert.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.