LineageOS mit einem HTC One M8 (Teil 2)

Ein ganz neues LineageOS auf dem HTC One M8 ist installiert. Das Smartphone liegt vor mir. Es geht nun um die erste Einrichtung des Systems und um die Installation von weiteren Apps und zum Teil um deren Einstellungen.

LineageOS erste Einstellungen

Zuerst werden die Spracheinstellungen gesetzt. Bei diesem Gerät wird Deutsch eingestellt. Danach kommt die Zeitzone. Die Verbindung mit dem WLAN richte ich noch nicht ein. Zu Mühsam wäre mir das Abtippen des langen Passworts, also Überspringen. Noch habe ich auch keine SIM Karte für das Gerät, deswegen ebenso Überspringen.

Für die Standortdienste erlaube ich die Verwendung nach der Erlaubnis für einzelne Apps und schränke die Aktualisierungsrate wegen des Akkuverbrauchs ein wenig ein.

LineageOS
LineageOS Details

Bei den LineageOS-Funktionen werden die Diagnoseinformationen an die Entwickler weitergegeben und der Datenschutz aktiviert. Datenschutz heißt, dass Apps erst nach expliziter Genehmigung auf die persönlichen Daten im Telefon zugreifen dürfen. Schließlich wird noch eine PIN für den Gerätezugriff hinterlegt und LineageOS gestartet.

Im Blog zuvor hatten wir als Ausgangssituation ein Android 6.0 mit Sicherheitspatch vom 01. Dezember 2015. Jetzt ist es Android 7.1.2 mit Stand der Sicherheitsupdates vom 05. Mai 2017.

LineageOS weitere Einstellungen

Nun mache ich die weiteren grundlegenden Einstellungen im OS. Im Display schalte ich die adaptive Helligkeit ein. Aufwecken beim Einstecken und Aktivieren des Bildschirms mit doppeltem Tippen werden deaktiviert. Für Benachrichtigungen können Einstellungen gesetzt werden. Vertrauliche Nachrichten werden auf dem Bildschirmschoner ausgeblendet, Benachrichtigungslicht und Akku-LED sind Stromfresser, welche auch ich ebenso ausschalte. Bei die Toneinstellungen mache ich im Moment nichts.

Ich lasse die Installation von Apps aus unbekannter Herkunft vorläufig zu und verschlüssele das Smartphone. Die Statusleiste erlaubt schnelles Öffnen auf der rechten Seite, die Uhr ist links positioniert. Der Akkustand wird innerhalb des Kreissymbols ausgegeben und die Helligkeitssteuerung in der Statusleiste ermöglicht.

Schließlich aktiviere ich nochmals die Entwickleroptionen wie im vorgien Blog beschrieben. Also in den Einstellung → Über das Telefon → acht Mal auf die Build-Nummer tippen. Einstellungen setze ich oben mit dem erweiterten Neustartmenü für Warmstart und Neustart ins Recovery. Den Rootzugriff erlaube ich für Apps und vorläufig auch für ADB, welches ich auch gleich zulasse. Ganz unten in den Entwickleroptionen bei den Apps setze ich Aktionen nicht speichern und App beenden mit Zurück-Taste.

F-Droid installieren und einstellen

F-Droid ist ein installierbarer Katalog von FOSS-Anwendungen (Free and Open Source Software) für die Android-Plattform. Der Client macht es einfach, Anwendungen und Updates auf Ihrem Gerät zu suchen, zu installieren und zu verfolgen.“ steht auf der Hauptseite von F-Droid. Die F-Droid App apk von dieser Seite und die apk für den Barcode Scanner kopiere ich mit dem Dateimanager auf das M8. ADB wurde ja gerade ermöglicht. Dann installiere ich F-Droid und den Barcode Scanner durch tippen auf die akp-Dateien im Dateibrowser des Smartphones.

Bisher ist das M8 noch nicht mit dem Internet verbunden. Mit Hilfe des Barcode Scanners und einem Zugangs-Barcode für WLAN sind auch lange WLAN Passworte nicht so unangenehm einzugeben. Als nächstes öffne ich F-Droid. Die Paketliste wird gelesen und die App kann aktualisiert werden. Die ganz neue Oberfläche ab F-Droid Version 103 ist großartig, besonders wenn sie richtig eingestellt ist.

F-Droid auf LineageOS
F-Droid neue Version – Zuletzt

Dazu gehe ich in die Einstellungen der F-Droid App und stelle tägliche, automatische Aktualisierung nur über WLAN ein. Dann lade ich die zip-Datei für die Priviledged Extension auf das Smartphone und setze dieses über die Aus-Taste → Neu starten → Recovery in den Recovery Modus. Die vorher angelegte PIN ist

F-Droid auf LineageOS
F-Droid neue Version – Kategorien

das Passwort für die Verschlüsselung. Die zip-Datei wird so wie im vorherigen Blog beschrieben, mit Hilfe von TWRP installiert und LineageOS neu gestartet. Zurück in den F-Droid Einstellungen aktiviere ich den Expertenmodus und die Privilegierte Erweiterung. Nun wird in den LineageOS Einstellungen → Sicherheit die Installation von Apps unbekannter Herkunft wieder deaktiviert. Auch kann der Rootzugriff für ADB in den Entwickleroptionen wieder entfernt werden. Ergebnis: F-Droid ist als Systemanwendung bereit für die Installation von Apps.

F-Droid Apps

AdAway
F-Droid auf LineageOS
AdAway

Zuerst wird in der Kategorie Sicherheit AdAway installiert. Der Ad Blocker benötigt Rootzugriff. In den Einstellung verstecke ich den Neustartdialog, aktiviere IPv6, Lasse täglich, automatische und nur über WLAN die Updates der Hostdateien einfließen und aktiviere den Webserver auch bei jedem Gerätestart. Dann werden die Hostdateien heruntergeladen und der Werbeblocker aktiviert. Die Frage, warum diese App bei Sicherheit gelistet ist, beantworte ich hier nicht. In diesem Bereich weiter erwähnenswert wären der Google Authenticator, KeePassDroid und GnuPG.

AnySoftKeyboard
F-Droid auf LineageOS
AnySoftKeyboard

Es spricht einiges dafür, ein freies Keyboard zu verwenden. Im Bereich schreiben findet man neben dem Hacker‘s Keyboard auch AnySoftKeyboard, welches ich samt Deutschem Sprachpaket installiere. In den LineageOS Einstellungen –> Sprachen & Eingabe → Bildschirmtastaur → Tastaturen verwalten kann man AnySoftKeyboard für das M8 einstellen und durch Neutstart (Warmstart ist ausreichend) aktivieren. In der Anwendungsübersicht wählt man nun AnySoftKeyboard und mach noch die feineren Einstellungen.

Document Viewer & KDE Connect

In der Kategorie Lesen findet sich der Document Viewer wieder, welcher später pdf-Dateien anzeigen soll. Es gibt dazu noch weitere Schriftarten im Font Pack. In der Kategorie System gibt es für KDE Nutzer die App KDE Connect, mein bevorzugtes Tool für den Dateitransfer und tägliches Arbeiten auf KDE Rechnern.

Sky Map, K-9 Mail & New Pipe
F-Droid auf LineageOS
New Pipe

Weiter wähle ich noch Sky Map aus. Manche Google Play Store Apps sind Freie Software und dann bei F-Droid zu finden. K-9 Mail sichert später den Zugriff auf E-Mails. Mit New Pipe lassen sich You Tube Videos browsen.

BusyBox
F-Droid auf LineageOS
BusyBox

Viele Anwendungen verwenden die BusyBox, welche sich ebenso in F-Droid installieren lässt. Dies mache ich hier gleich vorsorglich. In den Einstellungen setze ich noch den Knopf für alle existierenden BusyBox Anwendungen ersetzen und gehe dann auf den Install Knopf.

Google Play Store mit OpenGapps

F-Droid auf LineageOS
OpenGapps Downloader

Schließlich soll das Telefon auch mit Google Apps laufen. Deswegen möchte ich eine Play Store installieren. Dazu wähle ich in F-Droid die OpenGapps Downloader. Dies hat später bei der Aktualisierung der OpenGapps entscheidende Vorteile. Die Updates lassen sich automatisch herunterladen und zudem halbautomatisch aus der App in TWRP installieren. In den Einstellungen wähle ich die ARM Architektur, Android 7.1 und die Variante Mini aus. Das Telefon soll nämlich auch Google Maps und YouTube können. Dann wähle ich die heute aktuelle Datei für den Download und starte den Neustart ins Recovery. In TWRP installiere ich dann die OpenGapps zip-Datei. Dann gibt es von Google auf dem M8: den Rechner, die Uhr, Faceunlock, Gmail, GoogleNow, Hangouts, Hotword („OK Google“), Maps, Photos, YouTube und noch mehr. Das Einrichten des Google Accounts selbst beschreibe ich hier allerdings nicht mehr.

LineageOS auf einem HTC One M8 (Teil 1)

Dieser Blog dokumentiert, wie mit einem Linux Desktop Computer auf einem älteren Standard Android Telefon ein neues System mit aktuellen Sicherheitspatches aufgespielt wird. Genauer gesagt, ein LineageOS auf einem HTC One M8. Zudem wird erwartet, dass das Mobilgerät ein wenig besser und schneller reagiert als zuvor.

HTC One M8

Vor mit liegt ein HTC One M8. Inzwischen ist nach dem M9 bereits das M10 auf dem Markt erhältlich und man munkelt bereits über das M11. Das Gerät war 2014 neu auf dem Markt. Es ist aktuell Android 6.0 installiert. Der Android Sicherheitspatch ist vom 01. Dezember 2015. Die Daten selbst auf dem Telefon sind gesichert. Schön wäre die Wiederherstellung der bestehenden Software selbst.

Systemupdate und Liste der Apps

Zuerst wird nach dem neuestem Update für das Telefon gesucht. Deswegen verbinde ich es zunächst mit dem WLAN und stelle fest, dass keine neuen Updates zur Verfügung stehen. Um später eine Liste der installierten Apps auf dem Gerät zu haben, installiere ich „List my Apps“ von Onyxbits auf dem Gerät. Mit der Anwendung sende ich mir die Liste per E-Mail.

Entwicklermodus

Als nächstes wird der Entwicklermodus auf dem Gerät aktiviert. Dazu gehe ich in die Einstellungen unter Info –> Software-Informationen –> Mehr und tippe acht Mal auf den Eintrag Build-Nummer. Jetzt sind die Entwickler-Einstellungen aktiviert. Diese finden sich bei den Einstellungen direkt über dem letzten Eintrag „Info“. Beim ersten Besuch bestätige ich, dass ich vorsichtig mit dem Gerät und den Einstellungen umgehen werde. In den Optionen wird nun das USB-Debugging aktiviert. Außerdem wird in der USB Konfiguration RNDIS (USB Ethernet) eingestellt.

Beim Anschließen des M8 an den Rechner lasse ich Dateiübertragungen zu. Im Terminal wird überprüft, ob das Gerät so ansprechbar ist.
Zuvor hatte ich auf dem Rechner die android-tools-adb installiert. Mit dem Befehl

$ adb devices

erscheint das Gerät in der Liste. Das USB-Debugging kann auf dem Display-Popup authoriert werden.

Entsperrung des M8

Auf den Seiten von LineageOS gibt es eine Anleitung wie die Installation von LineageOS vor sich gehen sollte. Diese beginnen mit der Warnung, dass die Entsperrung des Bootloaders die Daten auf dem Gerät löschen wird.

Bitte das hier nur nachmachen, wenn Sie wissen, was Sie tun. Ich bin nicht verantwortlich für kaputte Geräte oder sonstige eventuelle Schäden, wenn Sie dies auf Ihrem Gerät auch tun.

Mit dem Befehl

$ adb reboot bootloader

wird das Gerät in den Fastboot Modus gesetzt. Durch den Befehl

$ sudo fastboot devices

wird das M8 erkannt und die Gerätenummer ausgegeben.
Anschließend mit Befehl

$ sudo fastboot oem get_identifier_token

erhält man schließlich den Identifier Token, mit welchem man später auf den HTC Developer Seiten den Entsperrcode für das Gerät anfordert.

Auf htcDEV wählt man Unlock Bootloader und Get Started. Nach der Geräteauswahl (hier das One M8) kann man die Haftungsausschlüsse (Verlust der Gewährleistung) bestätigen.

Seite https://www.htcdev.com/

Dann wird erklärt, wie man das OEM Unlocking vollzieht. Wir hatten diese Schritte bereits gemacht und gehen direkt weiter zu Schritt 7, wo der zuvor mit Fastboot abgefragte Identifier Token eingegeben wird. Nach der Übermittlung kommt der Entsperrschlüssel per E-Mail.

Nach der Navigation des Terminals in das Verzeichnis, wo der Entsperrcode aus E-Mail gesichert wurde wird das Gerät entsperrt. Und zwar mit dem Befehl

$ sudo fastboot flash unlocktoken Unlock_code.bin

Auf dem Gerät selbst wird mit den Tasten Leiser und Lauter navigiert, mit dem An/Aus Knopf wird der Entsperrvorgang bestätigt.

TWRP

TWRP ist kurz für Team Win Recovery Project. Auf den TWRP Seiten für das M8 wähle ich das neueste Recovery (bei mir Version 3.1.1), starte den Download und Navigieren den Terminal in das Downloadverzeichnis. Dies geht direkt auch bei den meisten Linux Systemen mit Befehl

$ cd ~/Downloads 

Inzwischen war mir das Gerät versehentlich neu gestartet. Ich benötige es allerdings im Fastboot Modus, der bei HTC über den HBOOT Modus gestartet werden kann. Den HBOOT Modus erreiche ich durch gleichzeitiges Drücken der An/Aus und der Leiser Taste für mehrere Sekunden bis das Gerät neu gestartet wurde und mit Hilfe der Navigation (Leiser, Lauter, An/Aus) von HBOOT in den Fastboot Modus gebracht wird.

Durch die Eingabe von

$ sudo fastboot flash recovery twrp-3.1.1-0-m8.img

wird die Recovery Partition (TWRP) aufgespielt.
Über das Menü HBOOT –> RECOVERY lässt sich diese direkt ansteuern. Nachdem die Erlaubnis für Systemmodifikationen per Wischen bestätigt wurde kommt man ins Hauptmenü. Mit dem Menüpunkt Install wird gleich installiert.

LineageOS

Für die Installation selbst fehlt noch das LineageOS System selbst, welches wir downloaden. Zudem lade ich noch das SU AddOn für Root Zugang zum System später. Das M8 hat einen Qualcomm Snapdragon 801, also 32-bit CPU Architektur. Dies ist wichtig zu wissen für das richtige SU File und auch später für die OpenGapps.

Zuerst wählen wir in TWRP in Menü Wipe und bestätigen mit Wischen einen „Factory Reset“.

Achtung: Hier werden alle Daten auf dem Gerät gelöscht.

Mit den Befehlen

$ adb push lineage-14.1-20170518-nightly-m8-signed.zip /sdcard/

und

$ adb push addonsu-arm-signed.zip /sdcard/

werden die beiden zip-Dateien auf das Mobiltelefon geschoben und dann in TWRP in Menü Installieren für die Installation ausgewählt.  Direkt nach der Installation wird mit Menü Wipe cache/dalvik der cache Spreicher aufgeräumt. Dann kann das Gerät direkt gestartet werden. Ich installiere hier auch gleich die TWRP App mit. Dies muss später über den Play Store aktualisiert werden.

Erfolg!

Wir haben nun ein HTC Developer Device mit LineageOS. Weiter im nächsten Blog gibt es Informationen zur Einrichtung des Geräts.

Custom ROM für Mobiltelefone

Es gibt viele gute Gründe, ein Mobiltelefon mit anderer Software (Custom ROM) zu bespielen. Hier eine einfacher, theoretischer Überblick zur Vorgehensweise.

Warnung

Die hier aufgeführten Aktionen führen zum Verlust der Herstellergarantie. Ich bin nicht verantwortlich für defekte Geräte, tote SD-Karten oder den Verlust des Arbeitsplatzes, weil die Wecker-App nicht mehr funktioniert. Bitte forschen Sie selbst ein wenig nach, bevor Sie ihr Geräte mit der hier beschriebenen Software bespielt werden. Es ist Ihre Entscheidung!

Aufbau

Der Aufbau eines Android Systems ist einem Linux / Unix System sehr ähnlich. Kein Wunder, der Android Kernel ist ein Derivat des Linux Kernels. Der Unterschied liegt darin, dass Speicher und Prozessoren von Mobiltelefonen meist viel kleiner und weniger Leistungsfähig sind als bei Desktops, Notebooks oder Servern. Der Umfang der Software für Smartphones ist kleiner als z.B. beim Desktop und speziell auf die Telefonie ausgerichtet.

Prinzipiell besteht ein Android-System aus mehreren Schichten:

  • Der Bootloader ist vergleichbar mit einem BIOS im Desktop Computer. Dort werden grundsätzliche Funktionen wie Speicherzugriffe oder Telefonie Verbindungen bereitgestellt.
  • Optional gibt es eine Recovery Partition, welche neben der Sicherung des Gerätes auch die Einspielung von System, Google Apps, Root Zugriff und weiterem garantieren kann.
  • Das System selbst, die ROM, ist zunächst seitens des Herstellers vorhanden. Dies enthält seitens der Hersteller auch den
  • App Store. Sehr verbreitet ist hier der Google Play Store. Es gibt jedoch auch weitere. Besonders möchte ich hier F-Droid nennen.

Flashen

Das Flashen (Neu bespielen des Speichers) selbst will gut vorbereitet sein und passiert bei allen Geräten mit ähnlichen/gleichen Vorgehensweisen.

  • Datensicherung (Backup) des bestehenden Geräts
  • Entsperren des Bootloaders
  • Aufspielen der Recovery-Partition
  • Aufspielen des neuen Systems (Custom ROM)
  • evtl. Aufspielen von OpenGApps
  • Einrichten und Einstellen des Systems (evtl. mit Hilfe des Backups)

Resultat

Als Ergebnis haben gibt es normaler Weise ein schnelles System ohne zusätzliche Apps des Herstellers oder Anbieters. Es kann zudem viele Einstellungen ermöglichen, die vorher Originalsystem nicht vorhanden waren.

openSUSE

Auf einer SAP Teched war ich an einem SUSE Linux Stand vorbei gegangen. Die Unterhaltung mit den Ausstellern hat mich dazu gebracht,  ein openSUSE Linux zu installieren.

Auswahl der Version

Die Wahl fiel auf opensuse LEAP. Für die Installation selbst wählte ich einen KDE Desktop aus. Die Installation selbst läuft problemlos mit dem grafischen Installer und YaST.

Später war ich auf von der Version LEAP auf die Rolling Release Version Tumbleweed umgestiegen. Der Vorteil sind neuere (aktuellere) Softwarepakete und eine ausreichende Stabilität.

Man bekommt bei openSUSE ein SUSE Linux Enterprise Linux ohne den normalerweise für produktive SAP-Systeme notwendigen Enterprise Support. Das System ist sehr stabil. Selbst im Rolling Release Tumbleweed gab es bei mir bisher keine Ausfälle. Die von SUSE herausgegebenen Sicherheitsupdates waren alle problemlos.

Linux System

Herausragend sind die Möglichkeiten von YaST (Yet another Setup Tool). Die Einrichtung von (Netzwerk-) Druckern ist einfach. Aufgefallen waren mir fertige installierbare Unterstützungspakete, z.B. Zusatzsoftware für die Installation von SAP Servern. Systemeinstellungen – wie Softwareinstallation, Server- und Firewall-Konfiguration und noch viel mehr – lassen sich von einer Anwendung aus machen. Selbst ein RAID Laufwerk lässt sich grafisch herstellen. Dies können andere Distributionen nicht so einfach.

Geht es allerdings tiefer in die Konfiguration, sind die Möglichkeiten der grafischen Tools natürlich irgendwann erschöpft. Dann bleibt immer noch die manuelle Anpassung der Einstellungen wie bei anderen Systemen. Die Online-Dokumentation für SUSE ist ebenfalls nicht schlecht.

Zusammenfassend lässt sich sagen, dass openSUSE eine stabile Distribution ist. Sie ist mit YaST einfach konfigurierbar. Die KDE Oberfläche mit Tumbleweed läuft bei mir auf dem Desktop Rechner.

CyanogenMod

Auch bei Mobiltelefonen war ich zuerst wegen nicht installierbarer Sprachpakete darauf gekommen, die Software mit einem freien Betriebssystem zu flashen. CyanogenMod ist das am weitesten verbreitete CustomMod (freies Betriebssystem). Es eröffnet viele Möglichkeiten …

Bitte beachten: Die hier aufgeführten Aktionen führen zum Verlust der Herstellergarantie. Ich bin nicht verantwortlich für defekte Geräte, tote SD-Karten oder den Verlust Ihres Arbeitsplatzes, weil die Wecker-App nicht mehr funktioniert. Bitte forschen Sie selbst ein wenig nach, bevor Sie Ihr Gerät mit der hier beschriebenen Software bespielen. Es ist Ihre Entscheidung!

Zuerst sollte man sich versichern, ob das jeweilige Gerät offiziell von CyanogenMod unterstützt wird. Es gibt zwar inoffiziell unterstützte Gräte, solche würde ich jedoch nur aus zwingenden Gründen flashen. Aus Erfahrung kann ich sagen, dass die Software am besten mit den Google Geräten funktioniert.

Wie bereits beschrieben, sollte man zuerst ein Backup des Gerätes machen. Dazu gibt es Apps im Google Play Store welche auch ohne Root Zugriff funktionieren. Alternativ liesen sich später bei Google gesicherte Daten und installierte Google Play Store Apps bei Verwendung von Open GApps wieder herstellen.

Die Bootloader Sperre ist eine Limitierung des jeweiligen Geräteherstellers. Das Entsperren des Bootloaders je nach Gerät einfacher oder schwieriger (z.B. bei HTC). Generell benötigt man dazu einen Rechner mit funktionierendem fastboot und adb. Durch das Einschalten der Entwickleroptionen im Gerät (-→ Einstellungen → Über das Telefon → 7 mal auf Build-Nummer drücken ) kann man dort das USB-Debugging aktivieren. Spätestens jetzt sollte man die bestehenden Daten auf dem Gerät gesichert haben oder noch sichern.

Mit dem Befehl
$ adb reboot bootloader

lädt das Gerät in einen speziellen Modus: fastboot. Dort spielt man eine neue Recovery auf das Gerät. Dieses Minibetriebssystem dient als Basis zum Einspielen der CyanogenMod Software und eventuell zur Wiederherstellung von späteren Backups. Android Geräte verfügen bereits seitens des Herstellers über ein Recovery. Ich empfehle TWRP. Mit dem Befehl
$ fastboot devices

lässt sich feststellen, ob das am Rechner angeschlossene Android erkannt wird. Mit
$ fastboot flash recovery recovery_image.img

wird die neue Recovery geflasht. Das Gerät ist bereit zum Einspielen von CyanogenMod.

Dazu lädt man das CyangenMod Paket für das jeweilige Gerät und überprüft die Integrität des Downloads, z.B. mit openssh:
$ sha1sum ./filename.zip

Mit
$ adb push filename.zip /sdcard/

wird dasPaket auf das Android Gerät übertragen und dort mit der Recovery aufgespielt. Ergebnis: ein freies Gerät ohne Daten.

Damit man weiter Google Apps benutzen kann muss noch das OpenGApps Paket auf das Gerät gespielt werden. Je nach Bedarf lassen sich dort Pakete vom „absolutem Minimum“ (pico) bis zu allen Google Apps (super) auswählen. Zu Beginn könnte man das micro Paket wählen und weitere Anwendungen manuell nachinstallieren. Die zip Datei wird auf das Gerät geladen und dann mit der Recovery geflasht.

Ein weiterer App Store ist F-Droid. Der App Store enthält freie Software Pakete. Es sind dort auch Apps erhältlich, die ebenso im Google Play Store angeboten werden, oft mit weniger Berechtigungsanfragen und ohne Kosten.