Posts mit dem Label Motorola werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Motorola werden angezeigt. Alle Posts anzeigen

06.09.2023

LineageOS mal wieder - nach langer Zeit

Lange Zeit war es still um die Installation von Custom ROMs auf meinen Handys ... jetzt hatte ich mal wieder Lust und Gelegenheit und ein abgelegtes Handy, für das es ein offizielles LineageOS-ROM gibt.

Vor langer Zeit war Motorola mal im Besitz von Google, und aus dieser Zeit resultieren immer noch einige erfreuliche Leistungen und Features, die die Handys von Motorola auszeichnen. Zugegeben, die Update-Politik könnte besser sein. Ob das mit dem späteren Verkauf an Lenovo zusammenhängt und Lenovo dadurch sparen will, ist schwer zu sagen. Die Geräte bekommen derzeit im Schnitt nur alle zwei Monate ein Update und nicht jeden Monat pünktlich am 5. wie die Google-Pixel-Modelle. Mein letztes Update ist das vom Juli, und ich erwarte das September-Update so ungefähr zu meinem Geburtstag :-)

Trotzdem gefallen mir die Modelle von Motorola ziemlich gut - ich habe mich auf die Mittelklasse eingeschossen, die "G"-Modelle (ich liebäugele aber durchaus als nächstes mit einem Edge 30 Ultra ...). Derzeit verwende ich ein "G200 5G" (auch wenn es in Berstadt derzeit noch kein 5G gibt), das es bei Amazon als B-Ware-Schnäppchen gab. Das vorherige Modell war ein "G 5G plus" und hatte nur 4 GB RAM. Das machte sich bei der Benutzung deutlich bemerkbar. Beim Wechseln zwischen Apps hakte es deutlich, und die Speicherverwaltung hat sehr oft Apps komplett aus dem Speicher entfernt, so dass beim Wechseln ein Neustart der App nötig war. Die Kamera ist bei allen Modellen ziemlich gut, auf jeden Fall ausreichend für meine Schnappschüsse. Die Bedienung und die zusätzlichen Gesten, die die Motorola-Geräte anbieten, finde ich enorm praktisch, und das Android ist nahezu identisch zum Original von Google - es gibt keine aufgeblähten Aufsätze wie bei Samsung oder Xiaomi oder zwangsinstallierte Software von Facebook, LinkedIn o.ä., die man nicht entfernen kann, ohne das Gerät zu "rooten" und dadurch die Gewährleistung zu riskieren.

Für das G 5G plus ("nairo") ist a) der Update-Support abgelaufen und b) es gibt ein offizielles LineageOS-ROM für dieses Modell. Was also liegt näher, als es mal wieder zu wagen?

Im Nachhinein bin ich etwas verärgert, dass Motorola keine Updates mehr für dieses Modell liefert. Da ich selbst als Software-Entwickler mit ziemlich modernen Werkzeugen arbeite und insbesondere viel mit automatischer Erstellung und Prüfung von Softwarepaketen zu tun habe, verwundert mich die Entscheidung, keine Updates mehr zu liefern. Die meisten Updates für Android werden von Google zugeliefert und können nahezu vollautomatisch integriert werden. Danach ein Update-Paket zu erstellen und auszuliefern, ist dann nur noch eine Sache von wenigen Minuten. Seit Jahren geht durch die Presse, wie gefährlich Cyber-Angriffe sind, und dass Updates die wichtigste Gegenmaßnahme sind - und trotzdem beharren Hersteller auf absurd kurzen Zeiträumen für die Bereitstellung von aktuellen Updates gegen Sicherheitslücken.

Es gibt ein paar wenige Situationen, in denen es plausibel ist, dass keine Updates mehr geliefert werden. Ein solcher Fall ist, dass sich ein Hardwarehersteller aus dem Geschäft mit Chips für Smartphones vollständig aus dem Geschäft zurückzieht. So geschehen bei Texas Instruments, die den CPU-Chip für das Samsung Galaxy Nexus geliefert haben. Danach gab es keine Updates mehr für die integrierten Module wie Bluetooth, WLAN, Kamera etc., die alle als Binärpakete von TI zugeliefert wurden.

Aber zurück zum eigentlichen Thema :-)

Spoiler: alles lief wunderbar geschmeidig - einfach der Schritt-für-Schritt-Anleitung bei LineageOS folgen. Jetzt hat das G 5G plus ein neues Leben mit Android 13 und monatlichen Updates :-)

  1. Entwicklereinstellungen freischalten (7x auf "Build Datum" tippen)
  2. Bootloader in den Entwicklereinstellungen entsperren ("OEM unlock")
  3. USB-Debugmodus einschalten und "vertrauenswürdiges Gerät" bestätigen
  4. Gerät mit USB-C-Datenkabel an den PC anschließen (sowohl Linux als auch Windows auf dem PC sind möglich)
  5. Im Fastboot-Modus den Code mit dem Befehl "fastboot oem get_unlock_data" abfragen
  6. Den Code auf dieser Motorola-Webseite eingeben. Nicht die Weiterleitung nach Deutschland anklicken, sondern die US-Seite verwenden (man muss sich dazu mit einer Emailadresse als Benutzer registrieren oder das Login mit Google verwenden)
  7. Auf die Email von Motorola warten (10 min.)
  8. Im Fastboot-Modus das Handy mit dem Befehl "fastboot oem unlock <Code>" und dem Code aus der Email entsperren
  9. Immer noch im Fastboot-Modus das LineageOS-Recovery installieren
  10. Bootloader neu starten
  11. Kopierskript für die A/B-Partitionen mit "adb sideload" starten
  12. Recovery starten (Bedienung mit Touchscreen möglich, nicht nur mit den Tasten)
  13. Speicher formatieren
  14. LineageOS-ROM mit "adb sideload" installieren (die Datei mit "-nairo-signed.zip" am Ende)
  15. MindTheGApps mit "adb sideload" installieren (die OpenGApps werden nicht mehr gepflegt)
  16. Neu starten
  17. Handy einrichten wie üblich

25.09.2017

LineageOS ist eine tolle Sache

Ich habe ja schon einige Beiträge dazu geschrieben, wie toll ich es finde, dass alte Smartphone-Modelle immer noch Software-Updates bekommen, wenn man vom Original-ROM des Herstellers auf ein sogenanntes "Custom ROM" wechselt.

Diese Beiträge (für Modelle von Samsung, Motorola, LG und Google) waren bislang eher technisch. Ich möchte aber auch gern mal eher prinzipiell über die Vorteile eines aktuellen Custom ROMs schreiben.

Ich gebe zu, dass ich eher ein paranoider Mensch bin, der die Nachrichtenmeldungen über Datenverluste, Trojanerangriffe, Virusausbreitung usw. beunruhigt zur Kenntnis nimmt. Deswegen bin ich auch immer sehr bemüht, meine Software aktuell zu halten und alle Updates einzuspielen. Mit aktueller Software kann man das Risiko, Opfer eines Angriffs zu werden, enorm verringern. Diese Tatsache kann man gar nicht oft genug aussprechen!

Das Besondere an diesen Custom ROMs ist: sie sind fast immer fast genauso aktuell wie Google die neuen Android-Versionen und die Sicherheitsupdates veröffentlicht. Nach einer neuen Android-Version dauert es vielleicht ein paar Wochen und auch nicht für alle Modelle gleichzeitig, aber mit ein bißchen Geduld hat man dann wieder das allerneueste Android auf seinem Smartphone. Die einzige derzeitige Ausnahme ist das Samsung Galaxy Nexus. Für dieses Modell gibt es nicht LineageOS 14.1 "Nougat" (Android 7), sondern "nur" 13.0 "Marshmallow" (Android 6). Aber selbst das ist bemerkenswert, wenn ich überlege, dass es von Google nur bis Jellybean (4.3) offiziell mit Software versorgt wurde. Man muss nicht immer das allerneueste Betriebssystem haben - aber die Sicherheitsupdates sind enorm wichtig, und die liefert LineageOS auch bei diesem Modell.

[20171023] Aktueller Nachtrag: LineageOS hat die Patches für KRACK am 16. Oktober integriert.

Die meisten Smartphones gehören mittlerweile ins Billig- und Discounter-Segment. Ich will damit nicht die Qualität des Geräts schlechtreden, aber der Hersteller spart dann bei der Softwarequalität und vor allem in der Pflege des Geräts nach dem Kauf. Bei einem Handy für 99€ kann man nach dem Kauf keinerlei Software-Updates mehr erwarten. Generell sollte man lieber etwas mehr investieren und darauf achten, dass der Hersteller die Dauer der Updates nach dem Kauf ausdrücklich erwähnt. Nokia ist hier mit den neueren Geräten (Nokia 3, 5, 6 und 8 mit Android) eine rühmliche Ausnahme, genau wie Google selbst mit den (früheren) Nexus- und jetzigen Pixel-Geräten. Hier weiß man, dass es Updates geben wird. Bei anderen Herstellern hängt der Preis unmittelbar mit der Updatelieferung zusammen: die Top-Geräte bekommen vermutlich noch das eine oder andere Update (z.B. Galaxy S7, S8), die billigeren oder älteren Geräte dann schon wieder nicht mehr.

Eine weitere Möglichkeit, die nebenbei auch noch gut für die Umwelt ist, könnte sein, dass man auf ein Neugerät verzichtet und bei einem Händler ein gebrauchtes Gerät sucht, für das es ein Custom ROM gibt. So mache ich es seit langem: erst überlege ich, welche Eigenschaften mein zukünftiges Smartphone haben soll (Speicher, Displaygröße, Displayauflösung in Pixel, Kamera), und dann informiere ich mich bei download.lineageos.org, für welche Geräte es dort ein ROM gibt. Danach suche ich bei Händlern wie rebuy.de oder bei ebay.de ein solches gut erhaltenes Gerät.

Kauf bei einem (deutschen) Händler hat den Vorteil, dass man auf das gebrauchte Gerät immerhin noch 12 Monate Gewährleistung bekommt, die der Händler auch nicht wegdiskutieren kann. Auf diese Weise habe ich kürzlich ein Google Nexus 5 für mich und die Schwiegermutter gekauft, ein Nexus 6 für Kind 2, und ein LG G4 für die beste Ehefrau von allen. Ein gern verwendetes Argument gegen gebrauchte Handys kann ich empirisch von meinen eigenen gekauften Geräten nicht bestätigen: die Akkus sind alle akzeptabel gewesen. Für das G4 mit wechselbarem Akku habe ich einen Ersatzakku gekauft, aber mehr aus Bequemlichkeit.

Nur Kind 1 fällt vollkommen aus dem Rahmen: sie will Geräte von Apple. Technisch finde ich das ok, weil sowohl die Geräte konstruktiv gut sind, als auch Updates für lange Zeit gesichert sind. Auf dem Retina-MacBook läuft das aktuellste OS X, und das iPhone erhält immer noch die iOS-Updates. Über die Geschäftspolitik von Apple und die Steuervermeidungsstrategien kann ich nur den Kopf schütteln, aber technisch habe ich wenig auszusetzen. Die Reparaturmöglichkeiten bei Apple sind laut iFixit.com durchwachsen: manche Geräte lassen sich sehr gut reparieren, andere sind verklebt und gelötet, so dass Aufrüsten oder Instandsetzen nur schwer möglich sind.

Zurück zu Android: an diesem Punkt angelangt und ein Modell ausgesucht und gekauft. Nun hat man also ein Gerät, für das es ein Custom ROM gibt, und dann kann man loslegen, das Hersteller-ROM durch ein Custom ROM zu ersetzen. Darauf will ich jetzt an dieser Stelle nicht mehr eingehen, es gibt ein paar ältere Beiträge, in denen ich das Entsperren und Flashen eines Custom ROMs beschrieben habe (Samsung Galaxy S, Galaxy S+, Galaxy S2, Galaxy Nexus, LG G4). Ich finde es einfach großartig, dass es Software-Entwickler gibt, die in ihrer Freizeit die von Google freigegebene Android-Software auf andere Smartphone-Modelle anpassen und weiter pflegen.

Insbesondere bekommt man auf diese Weise die Android-Security-Updates, die Google seit den schwerwiegenden Fehlern in den Medienbibliotheken monatlich entwickelt und im "Android Open Source Project" (AOSP) veröffentlicht. Erwähnenswert ist auch noch, dass die reinen Android-Updates auch für alte Versionen bis zurück zu 4.4 dort abgelegt werden. Was leider nicht gemacht wird: Google erstellt selbst keine installierbaren Pakete mehr; deshalb gibt es für das Nexus 5 z.B. auch keinerlei Updates mehr (das sogenannte "end of life" bei Google-Geräten bedeutet, dass man zwei Jahre lang alle Updates bekommt, auch neue Androidversionen, und danach noch ein weiteres Jahr Security-Updates).

Und was auch nicht gemacht wird: für jedes Smartphone-Modell müsste man neben dem eigentlichen Android noch höchst spezifische Linux-Kernelupdates pflegen, und das macht Google leider nicht für alte Geräte. Außerdem kann es passieren, dass ein CPU-Hersteller den Support für einen CPU-Chip einstellt. Dann kann sich Google auf den Kopf stellen, aber es ist nicht mehr möglich, Updates für den Kernel zu erstellen.

So ist das leider beim Galaxy Nexus geschehen: es hat eine CPU von Texas Instruments (OMAP), und TI hat sich aus dem Geschäft mit Smartphone-CPUs komplett zurückgezogen. Dummerweise sind die Unterlagen nicht öffentlich, so dass auch niemand sonst die Arbeit übernehmen kann. Das ist schlecht, weil üblicherweise in diesen CPU-Chips auch WLAN, Bluetooth, LTE oder andere Funktionen integriert sind, die eigene Software enthalten, die sogenannte Firmware. Genau wie jede andere Software können auch hier Programmierfehler und Sicherheitslücken enthalten sein!

Um Mißverständnissen vorzubeugen: die öffentlichen Updates für den Linuxkernel kann man natürlich bekommen oder selbst einpflegen. Falls aber ein Fehler in der Firmware bekannt würde, könnte man den nicht beheben. Diese Firmware wird in Form von Binärpaketen beim Starten vom Kernel in den Spezialchip geladen (für WLAN, Bluetooth, LTE, Kamera, was auch immer), und neue Binärpakete gibt es vom Chiphersteller leider nicht. Nebenbei gibt es eine nicht ganz vollständige Liste als Überblick, welche Android-Version mit welcher Kernelversion ausgeliefert wird. Google macht hierzu seit einiger Zeit sogar bestimmte Vorgaben, welche Kernelversion es mindestens sein muss.

Wenn aus Gründen gar kein Software-Update (mehr) möglich ist, ist die letzte Konsequenz dann eben, dem Gerät den Internetzugang zu sperren. Letzteres passierte bei uns 2014, nachdem Microsoft die Updates für Windows XP einstellte - die PCs, auf denen eine spezielle Software für die Tierarztpraxis läuft, dürfen jetzt einfach nicht mehr ins Internet und damit gibt es auch keine Infektionsgefahr mehr. Die Software läuft gut, sie würde auf einem neueren Windows nicht mehr laufen, und die PCs wären auch nicht wirklich gut gerüstet für eine neuere Windowsversion - warum also sollte ich Windows updaten? Für den Internet-Zugang gibt es seitdem einen PC mit Linux, für den es - natürlich - Updates gibt.

Ältere Smartphones ohne Updatemöglichkeit kann man dann immer noch als lokale Medienspieler oder für andere Zwecke einsetzen oder selbst gebraucht verkaufen. Internetzugang für ein Smartphone sperren ist in meiner kleinen Welt ganz einfach: ich entferne die private WLAN-IP-Adresse des Geräts aus meinem Firewall, und wenn keine SIM-Karte drinsteckt, war's das mit dem Internetzugang. Bei weniger paranoiden Menschen müsste man umgekehrt die Nummer des Geräts aktiv in der Fritzbox (o.ä. Router ...) sperren. Vor der finalen Sperre sollte man natürlich alle Apps installieren, die man auf dem Gerät weiterverwenden will.

Ich habe eigentlich gar nicht die Befürchtung, dass ich persönlich von bösen Menschen von irgendwoher angegriffen werde - die Gefahr ist einfach, dass ein breit gestreuter Angriff mich auch erwischt. Die bösen Buben haben es darauf abgesehen, entweder Drohnen einzufangen, mit denen dann Denial-of-Service-Angriffe (Lahmlegen des angegriffenen Ziels) getätigt werden, oder die Opfer zu erpressen, indem ihr Gerät verschlüsselt wird und für die vermeintliche Entschlüsselung Geld verlangt wird. Die Wahrscheinlichkeit, dass mich persönlich irgend jemand angreift, ist verschwindend gering - dazu bin ich nicht wichtig genug.

Angriffe geschehen häufig über Schwachstellen im Browser, durch die eine Schadsoftware "ausbrechen" und mit Hilfe einer weiteren Sicherheitslücke im Betriebssystem böse Dinge tun kann - entweder unmittelbar oder indem sie sich dauerhaft einnistet. Deshalb ist es besonders wichtig, das Betriebssystem, den Browser und eventuelle Hilfspakete im Browser ("Addons", "Extensions", "Plugins"), z.B. Flash, immer aktuell zu halten. Dazu sollte man das "automatische Update" einschalten, sofern vorhanden, oder zumindest regelmäßig nach Updates suchen. Dabei ist es wichtig, das Update nur direkt vom Hersteller herunterzuladen und nicht von irgendwelchen Downloadseiten. Dort kann man weder sicher sein, dass es wirklich die aktuellste Version ist, noch, dass nicht jemand das Update manipuliert hat und man sich gerade mit dem Update eine Schadsoftware einhandelt.

Solche Schadsoftware wird auch gern mal als Werbung im Browser-Fenster ausgespielt. Mittlerweile halte ich einen Adblocker (Werbeblocker) im Browser für unverzichtbar (ich verwende "uBlock origin"). Die Website-Betreiber haben die Kontrolle über die ausgespielte Werbung vollkommen abgegeben - es gibt Dienstleister, die dann wiederum an Subunternehmer Aufträge vergeben oder die Werbefläche sogar in automatisierten Auktionen "live" versteigern.

Noch relativ selten nehmen auch die Angriffe über Office-Dokumente wieder zu. Das war vor 10-15 Jahren ein großes Problem, weil in den üblichen Office-Programmen auch eine Programmiersprache enthalten ist, die nicht nur Dokumente automatisieren kann, sondern auch das Betriebssystem ansprechen kann (Visual Basic und Office-Makros mit Autostart-Funktion). Mittlerweile muss man diese Makros ausdrücklich einschalten, wenn man sie benötigt. Manche Angriffe bitten den Anwender deshalb genau darum - "Bitte erlauben Sie Makros, damit ich als Virus meine Arbeit erledigen kann. Vielen Dank!".

Eine weitere Angriffsmöglichkeit sind echt aussehende gefälschte Emails, in denen man auf einen Link klicken soll. Gern genommen werden hier Emails mit einem Drohpotenzial, z.B. indem mit der Sperrung des Bankkontos oder Nutzerkontos gedroht wird und Zeitdruck erzeugt wird. Entweder wird dann die Eingabe von persönlichen Daten auf einer Webseite verlangt, oder allein durch das Anklicken des Links in der Email hat man sich schon infiziert. In diesen Mails wird häufig behauptet, dass man nur sehr wenig Zeit habe zu reagieren, bevor das Konto ganz gesperrt wird, oder ähnlich vermeintlich empfindliche Konsequenzen. Damit soll verhindert werden, dass man sich die Mail genauer anschaut oder recherchiert, z.B. dort anruft und direkt nachfragt.

Gefälschte Emails stammen dann angeblich vom Emailprovider wie GMX, 1&1, web.de, oder von einem Internetversandhändler, z.B. Amazon, oder von einer Bank, in letzter Zeit hatte ich z.B. häufig solche "Phishing"-Mails von der Deutschen Bank, aber auch von diversen Sparkassen und Volksbanken. Diese Mails sind natürlich durchschaubar, wenn man dort gar nicht Kunde ist. "Phishing" ist übrigens ein englisches Kunstwort, das aus den Worten "Password" und "fishing" zusammengesetzt ist, d.h. jemand versucht dort mit Tricks, ein Passwort zu ergaunern.

Man kann solche Mails i.a. erkennen, indem man mit dem Mauszeiger über den Link fährt (aber natürlich nicht anklickt!) und üblicherweise erscheint dann in der Fußzeile des Emailprogramms der volle Name des Links, zu dem man gehen soll. Wenn dort nicht der richtige Name der Firma erscheint, sondern irgend etwas ähnliches (manchmal auch nicht mal das) oder ein Abkürzungsdienst wie bit.ly, goo.gl etc., dann ist es zu 120% eine Phishing-Mail, auf die man nicht reagieren sollte.

Manche Firmen haben mittlerweile eine eigene Schädlingsbekämpfungsabteilung eingerichtet, an die man solche Mails weiterleiten kann. Wenn gefälschte Emails angeblich von amazon kommen, kann man diese Email an spoof@amazon.com weiterleiten. Andere Firmen haben eine Emailadresse der Form abuse@firma.com ("abuse" = "Mißbrauch") eingerichtet. Leider ist das nicht einheitlich, und es funktioniert auch nicht bei allen Firmen. Aber es kann einen Versuch wert sein, hier aktiv zu werden und wenigstens im Kleinen etwas zu unternehmen.

Mittlerweile schlagen auch Spam- und Phishing-Nachrichten in Messenger-Apps auf dem Smartphone auf. WhatsApp ist mittlerweile sehr beliebt bei bösen Buben. WhatsApp weist zwar darauf hin, dass der Absender nicht im Adressbuch ist, aber der Link in der Nachricht ist trotzdem anwählbar, wenn man die Nachricht anschaut. Leider gibt es Schadsoftware, die extrem ausgefeilt ist und sich dann dauerhaft im Smartphone einnistet. Dabei werden dieselben Tricks verwendet, die man auch zum "Rooten" oder "Jailbreak" des Handys verwendet - die Schadsoftware hat dann volle Administratorrechte, was manchmal mehr ist als der Besitzer selbst ...

Nach diesem etwas ausführlicheren Exkurs in die Welt der Schädlinge nochmals mein Fazit: auch mit einem Smartphone-Modell vom Vorjahr kann man gut leben. Die Geräte sind mittlerweile genau wie PCs so leistungsfähig, dass man nicht mehr das Topmodell haben muss, um vernünftig damit zu arbeiten. Software-Updates sind enorm wichtig, gerade weil diese Sorte Geräte dafür konzipiert sind, immer online und aktiv zu sein. Mit UMTS oder LTE sind sie recht breitbandig angebunden, d.h. ihr Internetzugang ist ziemlich schnell, und das alles in Summe ist ein sehr attraktives Ziel für Bösewichte, aus diesem "Internet in der Hosentasche" eine ferngesteuerte Drohne mit schädlicher Nutzlast zu machen. Ein Custom-ROM wie LineageOS kann hier Wunder wirken und das Gerät noch über Jahre hinweg aktuell halten.

15.03.2017

Zweite Erfahrungen mit LineageOS 14.1

Nach dem ersten Bericht folgt hier noch ein kurzes Update zum Thema Update.

Nachdem Google das Security-Bulletin für März veröffentlicht hat, wollte ich natürlich auch gern mit den Custom ROMs aktuell sein und die eingebaute Update-Funktion testen.

Beim AOSP-Build für das Nexus 5 war ich bislang eher unglücklich mit den Updates, allerdings könnte dies auch mein eigener Fehler gewesen sein: nach Forenempfehlungen sollte man in einem Rutsch nach dem Flashen des neuen ROMs auch die Google-Apps unmittelbar hinterher flashen, ohne vorher neu zu starten. Damit würden dann alle Berechtigungen passend gesetzt. Die Update-Funktion im AOSP-ROM hat bis dahin nie Updates gefunden, deshalb der manuelle Weg.

Nun ja, wenn ein weit verbreitetes Custom ROM wie LineageOS eine Update-Funktion anbietet, dann sollte die auch funktionieren. Kurze Zusammenfassung: so halb und halb.

Beim Nexus 5 absolut problemlos. Zuerst im Update-Bildschirm auf "Download" und dann auf "Installieren" drücken, wenn der Download beendet ist. Zack, fertig! Build NOF27B, also der Stand März 2017. Der kleine Fehler, dass man kein Profilbild beim Nutzerkonto abspeichern kann, ist immer noch vorhanden.

Beim Moto G nicht ganz so problemlos. Download hat funktioniert, aber nach dem Druck auf "Installieren" startet zwar das TWRP-Recovery, führt aber kein Update aus. Ich habe dann manuell in den Ordner (/data/data/org.lineageos.updater/app_updates) navigieren müssen, in dem LineageOS das Update ablegt, habe die Zip-Datei und vorsichtshalber (s.o.) auch noch mal die OpenGApps-pico-7.1 ausgewählt und geflasht. Nach dem Booten war alles ok, auch hier Build NOF27B vom 05.03.2017.

Mal schauen, ob das nächste Update mit der neuesten Version von TWRP (3.1) besser funktioniert.

Alles gut ;)

06.03.2017

Erste Erfahrungen mit Lineage OS 14.1

Ich gebe zu, ich bin spät dran ;)

Nach längerer Zeit hab ich nun also auch nicht nur ein, sondern gleich zwei Geräte mit LineageOS, dem Nachfolger von CyanogenMod, geflasht, um es mir mal genauer anzuschauen.

Die Opfer waren ein älteres Nexus 5 ("hammerhead") mit 16 GB, das hier noch herumlag, weil meine Frau ein Gerät mit mehr Speicher wollte, und ein noch älteres Motorola Moto G (1. Gen, "falcon"). Ansonsten ist ein Nexus natürlich optimal, weil es bei den allermeisten Custom ROMs ganz vorne mit dabei ist - eben weil alle nötigen Files von Google veröffentlicht werden und man es ohne Klimmzüge entsperren und flashen kann. Ähnlich entspannt funktioniert das Custom-ROM-Flashen bei Motorola. Die einzige kleine Hürde ist, dass man zum Entsperren einmalig eine Webseite von Motorola aufsuchen muss, dort einen Code vom Handy eingeben muss und dann einen Freischaltcode zurückbekommt.

Der erste Versuch auf dem Nexus 5 nach dem Download war wenig erfolgreich - das Flashen verlief ohne Fehlermeldung und ich bekam zwar die Bootanimation von LineageOS zu sehen, aber nach etwa einer Stunde dachte ich mir, dass da irgendein Problem sein muss, und habe abgebrochen. Das Nexus 5 ist immer noch ein ziemlich aktuelles und vor allem schnelles Gerät, nicht wie damals das Motorola Milestone 2, bei dem der erste Bootvorgang 30 Minuten gedauert hat.

Beim nächsten Versuch, ins Recovery zu booten, stellte ich fest, dass irgendwie auch das Recovery kaputt gegangen ist. Also im Fastboot-Modus erst mal ein neues Recovery geflasht (TWRP), und dann ging das schon mal wieder ;)

Im nächsten Schritt habe ich erneut im Recovery den Nightly Build vom 28.02. und die OpenGApps (pico) geflasht. Diesmal war ich aber noch etwas konservativer und habe die Frage von TWRP verneint, ob ich vor dem Reboot auch SuperSU installieren will. LineageOS liefert ein eigenes Addon für SU-Funktionalität mit, und ich wollte es erst mal ohne alle Veränderungen versuchen.

Bingo! Dieser Versuch klappte auf Anhieb, und wenig später erschien der Einrichtungsassistent von Android Nougat. Lineage ist auf dem aktuellen Stand 7.1.1, Build NOF26W, Sicherheitsstand 05.02.2017.

Beim Moto G war gleich der erste Versuch erfolgreich, und nach einigen Minuten hatte ich auch hier die übliche Ansicht.

Bei den OpenGApps kann man sich aussuchen, wie umfangreich das Google-Paket sein soll, das man als Basissystem installiert. "pico" ist das kleinste Paket und enthält eigentlich nur die App für den Play Store; somit kann man später gezielt aussuchen, welche weiteren Google-Apps man haben will. Die größeren Pakete enthalten dann immer mehr, was gleich als System-App installiert wird. Je nachdem, wie groß die Systempartition ist, kann man also gar nicht alles installieren, was zur Auswahl steht, sondern muss ein "kleines" Paket nehmen und nachinstallieren. Diese nachinstallierten Apps  werden dann in den "normalen" Speicher des Telefons installiert.

Viele Features der bisherigen CyanogenMod-Versionen hat Google ohnehin auf die eine oder andere Weise übernommen, so dringend ist es mit Nougat nicht mehr, eine "Bells and Whistle"-Version von Android zu installieren. Auffällig ist, dass die "Themes" von CM verschwunden sind, es ist also nicht mehr so leicht möglich, z.B. eine angepasste Bootanimation zu verwenden.

Der eine Punkt, der mir bei meiner vorherigen "Custom" ROM aufgefallen ist, war die unzuverlässige Update-Methode. Ich hatte bislang auf dem Nexus 5 einen AOSP-Build, d.h. ein Android, das aus den offiziellen Quelltexten von Google gebaut wird. Nach keinem der Flashvorgänge konnte ich problemlos weiterarbeiten, ich bekam immer Fehlermeldungen, dass Google Play Services abgebrochen wird. Erst ein Factory Reset, d.h. Rücksetzen und Neueinrichten des Telefons, konnte das beheben. Für ein täglich genutztes Werkzeug ist so ein Verhalten natürlich indiskutabel, deshalb hoffe ich, dass die Updates von LineageOS sich problemlos(er) einspielen lassen.

Ich hatte neulich im Nexus 5-Thread zu AOSP-Nougat auf xda-developers gefragt, und da kam doch gerade eben eine Antwort mit einem Vorschlag: man soll beim Update nicht nur das AOSP-ROM, sondern auch noch die OpenGApps in einem Rutsch mit flashen, damit die Berechtigungen der System-Apps korrekt gesetzt werden, das würde nämlich nur beim ersten Booten nach dem Flashen gemacht. Alles in allem trotzdem sehr unschön: ein inkrementelles Update wie beim Nexus-Android wäre natürlich die schönste Lösung, und insbesondere viel kleiner. Die Updates, die ich bislang beim Nexus 5 erlebt habe, waren mit 10-20 MB pro Monat erfreulich klein.

Bislang funktioniert LineageOS bei mir schmerzfrei. Aufgefallen ist mir ein kleiner Fehler sowohl beim Nexus als auch beim Moto G: ich kann zwar bei den Benutzerkonten ein Bild für den Benutzer aussuchen, aber das "Speichern" speichert nicht, ich habe nach wie vor nur das abstrakte Platzhalterbildchen. Das kann ich verkraften ;)

Beim Motorola gibt es noch einen merkwürdigen Effekt: nach der Grundinstallation hatte ich mir einige der Google Apps aus dem Play Store installiert, darunter die aktuellste Version von Kalender, Kontakte und Telefon. Die mitgelieferten Apps von LineageOS hatte ich bei den Apps-Einstellungen deaktiviert. Beim Telefonieren mit einem "Direktwahl"-Widget konnte ich zwar telefonieren, aber die App wollte mir den üblichen Telefonbildschirm nicht anzeigen; somit konnte ich die Zahlentastatur nicht benutzen, stumm schalten, Lautsprecher, etc. Deshalb habe ich die Telefon-App wieder deinstalliert und mit der Version, die mit LineageOS mitkommt, funktioniert alles so, wie es soll.

Was mir im Vergleich zum Vanilla-Android immer noch besser gefällt, ist die Möglichkeit, die Statusleiste, die Benachrichtigungen und die Schnelleinstellungen bequem(er) anzupassen und die Icons rauszuwerfen, die man persönlich nicht braucht. Ich benötige z.B. die Icons für "Hotspot" und "Übertragen" gar nicht. Aber selbst diese Anpassungen kann man mit den normalen Android erreichen. Wenn man nämlich lang auf das Einstellungen-Zahnrad drückt, kann man den "System UI Tuner" aktivieren, und mit dem kann man ebenfalls diese Icons bearbeiten.


Trebuchet App FolderHingegen gefällt mir der Standardlauncher von CM und LO seit den letzten zwei Versionen gar nicht mehr, die Icons in Ordners extrem verkleinert anzuzeigen statt sie mit 3D-Effekt hintereinander zu stapeln. Deswegen ist der erste Handgriff dann auch, auf den Google Now-Launcher umzustellen - der ja leider nun auch eingestellt wird. Der Launcher3 des AOSP-Projekts sieht ziemlich gut aus, alternativ gibt es mittlerweile auch den Pixel-Launcher im Play Store, und jede Menge weitere Alternativen für jeden Geschmack.

Auf jeden Fall ist ein Custom ROM, egal ob es AOSP, LineageOS oder ein anderes ist, immer noch eine gute Möglichkeit, sein Schätzchen auf dem neuesten Sicherheitsstand zu halten, selbst wenn Google die Auslieferung von Updates im Dezember 2016 für dieses Modell eingestellt hat. Eigentlich ist das schade - die Patches werden von Google bis zurück zu 4.4 ins AOSP-Repository eingepflegt (soweit das technisch möglich ist), und die Build-Maschinerie könnte weiterhin das Nexus 5 mit Marshmallow-Updates auf dem aktuellen Sicherheitsstand versorgen.

16.01.2015

Display tauschen beim Motorola Moto G

Ich hab ja schon ein paarmal über meine destruktiven Kinder geschrieben, die regelmäßig zu meinem Leidwesen ihre Handys zerlegen ... Aber es beruhigt mich, dass ich nicht der einzige Leidgeprüfte bin ;)



Mein Nachbar bastelt gern mal am Auto und hat ein Rollbrett, mit dem er sich rücklings bequem unter sein Auto fahren kann. Dummerweise ist er dann beim Rausfahren mit dem Rollbrett über sein Handy gefahren, und das mochte das Displayglas nicht besonders ;(



Kurze Recherche bei Ebay ergab, dass man komplett montierte Ersatzdisplays für das Moto G (1. Generation) für knapp 40 Euronen erwerben kann, und das ist eine gute Investition. Das Moto G gehört zu den Handys, die ich wirklich empfehlen kann - technisch einigermaßen up-to-date (um ehrlich zu sein, würde man mittlerweile "Mittelklasse" sagen) und insbesondere wird es von Google und Motorola immer noch mit Software-Updates versorgt - Kunststück, Motorola gehörte ja mal einige Zeit zu Google, von 2011 bis 2014.

Auch das Auswechseln selbst ist relativ leicht, wenn man nicht gerade zwei linke Hände hat. Bei youtube gibt es ziemlich viele Videos mit Anleitungen, worauf man achten muss (das Handy ist sehr reparaturfreundlich).

Allerdings muss man dann auch noch mitdenken, wenn man selbst Hand anlegt, und das habe ich leider versäumt ... dazu gleich.

Gerät ausschalten wäre jetzt eine gute Idee ...

Als Unterlage sollte man sich ein weiches Tuch besorgen, z.B. ein fusselfreies Küchentuch - ich habe ein größeres Brillenputztuch speziell für Handy-Arbeiten. Immerhin liegt das Handy mit dem Display nach unten, und bei einigen Handgriffen wird soviel Druck ausgeübt, dass das Risiko von Kratzern im Glas besteht, wenn die Unterseite nicht ordentlich sauber ist.

Nach dem Entfernen der hinteren Abdeckung mit den Fingernägeln sieht man 14 (!) Torx-Schrauben. Das ist für den Gelegenheitsbastler gleich das erste Hindernis: wer hat schon Werkzeuge für diese winzigen Spezialschrauben? Zum Glück war bei meiner Bestellung das passende T4-Werkzeug dabei.

Nach dem Lösen der Schrauben und dem Entfernen der SIM-Karte - in beliebiger Reihenfolge - kann man nun wiederum mit den Fingernägeln den inneren Rückendeckel entfernen.

Dann den Stecker des Akkus lösen und den Akku vorsichtig von allen Seiten mit einem flachen Plastikwerkzeug lockern und dann abheben, er ist an den Außenseiten mit ein wenig Klebeband fixiert.

Beim Hin- und Herdrehen des Handys kann es sein, dass sich die Plastikknöpfe für Lautstärke und Schalter selbständig machen. Man sollte dem vorbeugen und sie selbst entnehmen und beiseite legen für später. Auf dem Bild da oben kann man sie gut sehen, umrundet von den Schrauben.

Ich habe mir übrigens angewöhnt, die Schrauben genau in der Position abzulegen, wie ich sie aus dem Handy entnehme. Bei manchen Modellen gibt es Schrauben in unterschiedlichen Größen und Längen, das wird hinterher schwierig. Natürlich muss man dann die Ablage in Ruhe lassen, damit die Schrauben auch so bleiben, wie man sie hingelegt hat ;)

Rechts oben die Verriegelung des Steckers lösen und die Frontkamera ablösen. Die Verriegelung ist auf der Seite, auf der auch das Folienkabel eingesteckt ist, und muss vorsichtig nach oben geklappt werden. Ein Fingernagel ist hier ebenfalls das beste Werkzeug. Die Klebefolie über dem Stecker muss man dazu eigentlich nicht lösen. Wenn der Kleber alt ist, kann die Folie aber gern mal von allein abfallen.

Rechts unten ebenfalls die Verriegelung des großen Steckers lösen und das Folienkabel möglichst ohne Verbiegen herausziehen. Das Kabel ist sehr empfindlich und wird von einem weichen blauen Plastikformteil geschützt, das man einfach abheben kann. Das Kabel ist umgebogen, damit es nach rechts zum Display geführt werden kann. Nicht drücken, sonst können die feinen Leiterbahnen auf der Folie brechen! Falls sich das Kabel nicht bewegen lässt, vorsichtig mit einem flachen Plastikwerkzeug von allen Seiten das Klebeband lösen.

In der Video-Anleitung wird zuerst ein kleineres inneres Folienkabel gelöst, aber diesen Schritt muss man nicht unbedingt machen. Beim neuen Display ist dieses gesamte Folienteil mitsamt Chip enthalten.

Jetzt kann das Folienkabel nach rechts weggeklappt werden und das Mainboard des Telefons kann entfernt werden, es ist nur eingelegt. Da es ebenfalls am Außenrand mit feinen Klebebändern fixiert ist, muss man es mit viel Geduld heraushebeln. An allen Seiten mit den Fingernägeln druntergreifen und anheben, bis es sich löst.

Der nächste Schritt wäre auch wichtig, leider hab ich es erst gemerkt, als das Handy schon wieder zugeschraubt war: das neue Display enthielt keinen Lautsprecher zum Telefonieren. Man muss von außen durch den Schlitz ganz vorsichtig auf das Gitter drücken, damit der ebenfalls verklebte Lautsprecher mitsamt dem Gitter abgelöst und nach innen gedrückt werden kann. Ich habe dazu einen Inbus-Schlüssel verwendet, der genau in den Schlitz gepasst hat. Die stumpfe Unterseite hilft, das sichtbare Gitter nicht zu beschädigen. Tja, ich musste dann das ganze Telefon gleich wieder zerlegen, um den Lautsprecher einzubauen ;)

Auf keinen Fall den Lautsprecher von der Innenseite hebeln, dabei können sich Magnet und Spule trennen und die feinen Kupferlackdrähte abreißen. Aber auch dieses Ersatzteil gibt es einzeln bei Ebay ;). Merken, wie die Federkontakte liegen, damit es nachher wieder genauso eingebaut werden kann.

Zwischen Mainboard und Display liegt noch ein Abschirmblech, das man jetzt als erstes in das neue Display einlegt. Prüfen, dass alles gut passt, nichts über den Rand ragt und Orientierung beibehalten.

Den ausgebauten Lautsprecher in derselben Orientierung in das neue Display einstecken.


Folienstecker des neuen Displays vorsichtig aufklappen und beiseite drücken, damit das Mainboard hineinpasst. Kabel herunterklappen, evtl. Schutzverpackung entfernen und Stecker in die Buchse einfädeln. Die Farbmarkierung auf dem Kabel muss in Linie mit der Markierung auf dem Mainboard sein, damit alle Leitungen richtig Kontakt haben! Nun die Arretierung vorsichtig herunterdrücken.

Das Kabel der Frontkamera einfädeln und Arretierung herunterdrücken. Die Markierung auf dem Kabel muss bündig an der Buchse anliegen.

Den blauen Plastikschutz auf das große Folienkabel legen (die Unterseite ist strukturiert, es gibt genau eine Möglichkeit).

Den Stecker des Akkus von oben aufstecken und andrücken. Danach den Akku wieder so an seine Stelle legen, dass das Folienkabel keine Spannung hat.

Die Plastikknöpfe für Lautstärke und Schalter wieder in die Aussparungen einlegen.

Rückendeckel auflegen, vorsichtig wackeln, ob alles passt, nochmal prüfen, dass keine Kabel eingeklemmt sind, und dann andrücken, bis alles einrastet.

Noch nicht zuschrauben, erst mal eine Einschaltprobe machen und prüfen, ob alle Pixel richtig anzeigen. Unbedingt auch den Touchscreen testen. Entweder bei der Eingabe der PIN für die SIM oder einfach beim Bedienen merkt man schnell, ob alle Bereiche des Bildschirms auf Berührung reagieren.

Vorsichtshalber wieder ausschalten, umdrehen, flach hinlegen und die Schrauben befestigen. Nicht zu fest drehen, denn nach "fest" kommt "ab"!

SIM wieder einbauen.

Rückendeckel festdrücken und fertig ist das nagelneue Display!

07.10.2013

Neues vom Senior-Zwerg Motorola Flipout: Update von CyanogenMod RC2 auf RC5

Nachdem ich im Juli ganz begeistert festgestellt habe, dass es für den Senior in meiner Android-Sammlung tatsächlich eine CyanogenMod-Version gibt (wenn auch nur 2.3.7), stellte ich heute fest, dass die Entwicklergemeinde rund um das intern MB511 genannte Telefönchen immer noch sehr aktiv ist.

Spaßeshalber habe ich mit Google nochmals nach "CyanogenMod Flipout" gesucht und eine neue CM-Version gefunden. Nebenbei habe ich gesehen, dass mein Blog-Artikel auf Platz drei der Google-Trefferliste zu finden ist. Das ist doch mal was für's Ego ;)

Das damalige RC2 (release candidate 2) wurde mittlerweile von einem deutlich neueren RC5 überholt.

Ich beschreibe im folgenden Artikel, wie problemlos man beim Flipout eine neuere CyanogenMod-Version installieren kann. Dabei bestätigt sich erneut die Tatsache, dass jedes Modell ein anderes Verfahren erfordert.

Im Prinzip ist es zwar immer dasselbe Vorgehen, aber wie man bis zu dem Punkt kommt, das neue ROM zu flashen, ist bei jedem Modell erneut Gegenstand von Forschungsarbeiten.

Das übliche Vorgehen:
  1. Überspielen der neuen CM.zip auf das Handy (oder die SD-Karte)
  2. Ausschalten
  3. Beim Einschalten die Tastenkombination für Custom Recovery gedrückt halten
  4. Im Recovery-Menü die Auswahl "install zip from SD card" wählen
  5. Vorsichtshalber "wipe cache" und "advanced -> wipe dalvik cache"
  6. Reboot
Beim Flipout mit installiertem CM 7 und Custom Recovery (gemäß meiner damaligen Anleitung) wird das Custom Recovery zusätzlich zum schon vorhandenen sog. "Stock Recovery" installiert.

Um das Custom Recovery aufzurufen, muss man deshalb zwei Schritte durchführen, bis man das neue CM.zip flashen kann.

Zunächst die neue CM.zip herunterladen (100 MB) und auf das Telefon befördern. Meins war gerade ausgeschaltet, deshalb hab ich die SD-Karte ausgebaut und am PC die Datei überspielt.

Da sich die Android-Version nicht ändert, ist es nicht nötig, eine neuere Version der GApps.zip zu flashen.

Nach dem Einbauen der SD-Karte Gerät einschalten und sofort anfangen, die Lautstärke-runter-Taste zu drücken (mehrfach drücken und loslassen). Mindestens solange immer wieder drücken, bis das M-Logo aufleuchtet und wieder schrittweise dunkler wird.

Danach sollte ein sehr schlichtes Menü in blauer Schrift erscheinen, in dem man eine Auswahl "Recovery" findet. Bedienung bei aufgeklapptem Handy mit den Cursor-Tasten der Tastatur, Enter und Löschtaste (über der Enter-Taste).

In diesem Menü kann man übrigens unter "CPU" auch das Overclocking freischalten, das Zwergchen kann man tatsächlich bis 1,1 GHz übertakten, wenn ich das richtig gelesen habe. Allerdings finde ich Berichte, dass das Übertakten über 800 MHz hinaus nicht sehr zuverlässig sein soll. Ich werde das sicher nicht ausprobieren.

Als nächstes erscheint eine Auswahl "Custom Recovery", "Stable Recovery", "Stock Recovery". Dieses kleine Teilchen hat also tatsächlich drei verschiedene Recovery-Funktionen eingebaut, falls irgend etwas schiefgeht ;)

Der Menüpunkt "Custom Recovery" wird ausgewählt, danach erscheint das auch von anderen Androiden bekannte Recovery zum Installieren von Custom ROMs. Hier wird nun "Install zip from SD card" und dann im folgenden Menü "Choose zip from SD card" ausgewählt. Mit den Cursor-Tasten dann die neue CM.zip auswählen und mit "Yes" bestätigen.

Wenn das erfolgreich war, noch "wipe cache" und im "Advanced"-Menü den Punkt "wipe dalvik cache" auswählen. Mit dem Punkt "wipe data" werden alle Benutzerdaten (Konten, Apps etc.) gelöscht, das ist nur beim Umstieg vom Original-ROM auf ein Custom-ROM nötig, aber bei Updates innerhalb einer Custom-ROM-Serie nicht mehr. Falls ich die Idee hätte, von CM auf einen anderen Typ von Custom-ROM (MIUI, AOKP etc.) umzusteigen (nur hypothetisch, sofern es sie gäbe), müsste ich wiederum einen "full wipe" machen, aber nicht bei einem Update auf eine neuere Version von CM.

Jetzt "Reboot" und ein bis zwei Minuten Geduld, dann hat das Flipout die neueste Version RC5 (0.7.4) vom 4. Oktober ;)

Wenn ich mir die Entwicklungsgeschwindigkeit und die Begeisterung im XDA-Forum anschaue, ist tatsächlich demnächst mit einem "stable"-Release zu rechnen. Unglaublich!

24.07.2013

Mehr CyanogenMod: Motorola Flipout, der Senior-Zwerg

Unglaubliche Sachen passieren in diesem merkwürdigen Internet ...

Ich hatte das alte Motorola Flipout immer noch als Notfallhandy im Regal liegen, nachdem Kind 1 sich ein Galaxy S2 zulegen wollte, und ab und zu hab ich damit ein wenig herumgespielt.



Allerdings ist es aufgrund des extrem kleinen Bildschirms mit 320x240 eher ein Hilfsmittel zur Umsatzsteigerung für Augenärzte denn ein ernstzunehmendes Smartphone.

Offensichtlich gibt es aber trotzdem Liebhaber für schnuckelige kleine Geräte mit lustiger Drehmechanik: das Gerät wird "über Eck" geöffnet, um die Tastatur zu entblößen. Es ist also weder ein Aufklapphandy wie die recht erfolgreichen Motorola V3 "Razr"-Geräte noch ein Schiebehandy wie Motorola Milestone und Milestone 2.

Irgend jemandem hat es also keine Ruhe gelassen, dass dieses Gerät quasi ab Auslieferung schon für tot erklärt wurde. Es gab nie ein vernünftiges Update von Motorola. Alles, was sich im Internet finden lässt, ist ein Update, das die "Blur"-Software entfernt, aber die Android-Version ist nach wie vor 2.1 "Eclair".

Ich wollte es schon einem Museum stiften und bot es in Google+ zum Verkauf an ... Mit dem Hinweis "Kein Update möglich". Spaßeshalber hab ich dann trotzdem "CyanogenMod Motorola Flipout" gesucht und es gibt wirklich Bastler, die im Juli 2013 (!) an CyanogenMod 7 für das intern MB511 genannte Flipout arbeiten.

Es funktioniert tatsächlich. Im zweiten Anlauf hab ich es geschafft, das Gerät mit Android 2.3.7 zu versorgen. Aber der kleine Bildschirm ist in meinem hohen Alter das K.O.-Kriterium, ich will es trotzdem loswerden. Immerhin ist Android 2.3.7 jetzt sogar ein starkes Werbekriterium beim Verkauf ;). Leider hat es insgesamt nur 512 MB RAM, davon sind knapp 150 MB frei zur Installation von Apps. Diese Einschränkung kann man mit einer kleinen App umgehen, wenn man in Kauf nimmt, dass man dafür eine neu partitionierte SD-Karte einsetzen muss, die man dann nicht mehr entnehmen darf (s.u.). Google Maps funktioniert leidlich mit der Bildschirmgröße, der Google-Authenticator hat am unteren Bildschirmrand (hochkant!) schon Probleme, die neue PIN komplett anzuzeigen.


Im CM-Paket ist sogar schon eine App für das UKW-Radio enthalten, allerdings nur in Japanisch. Wenn man einen Kopfhörer als Wurfantenne anschließt, kann man damit sogar Radio hören.

Hier also wie üblich die Anleitung in Ihrem freundlichen Android-Serviceblog, was zu tun ist, um statt des originalen Motorola-Android 2.1 das immerhin etwas modernere 2.3.7 zu installieren. Achtung, die derzeit verfügbare CM-Version heißt "RC version 2: 0.7.1", sie ist also als "RC" (release candidate) gekennzeichnet, es kann sein, dass nicht alles perfekt funktioniert.

Wie üblich muss das Gerät gerootet werden, damit man einen alternativen Bootloader und Recovery-Modus installieren kann.

Falls das Gerät schon modifiziert ist, sollte man laut Empfehlung der Entwickler zunächst mit dem offiziellen Tool "RSD Lite" die Motorola-Version zurückspielen (für Europa die 1.14 Central Europe).

Als Vorbereitung für den nächsten Schritt sollte man die "Installation aus unbekannten Quellen" erlauben, sonst kann man keine lokalen apk-Dateien von der SD-Karte installieren. Danach müssen die zwei apk-Dateien, CM7 und die Google-Apps für Android 2.3.7 auf die SD-Karte kopiert werden, am besten ins Root-Verzeichnis. Dummerweise enthält das Flipout keinen Dateimanager, mit dem man sich den Inhalt der SD-Karte anschauen und apk anwählen kann. Man benötigt also z.B. "ES File Manager" oder "AndExplorer" oder ähnliche.

Danach kann man mit Hilfe des Dateimanagers eine App "UniversalAndroot" installieren, die das Rooten und Unrooten durchführen kann. Extrem bequem!

Der nächste Schritt ist die Installation von CWM Recovery mit der App "Charms Bootstrapper". Zunächst den oberen Menüpunkt "install recovery" anwählen, danach den unteren Menüpunkt "boot to recovery".

Da das Telefon recht langsam ist, dauert es, bis tatsächlich das Recovery-Menü erscheint. Spätestens jetzt bietet es sich an, das Telefon aufzuklappen, man benötigt zur Bedienung des Recovery-Modus die Cursor-Tasten und die Eingabetaste auf der Tastatur. Die Lautstärketasten und der Einschaltknopf funktionieren nicht in allen Menü-Ebenen. Diese Situation erkennt man daran, dass ein Bildschirm mit einem Hut und einem großen gelben Pfeil erscheint. In diesem Fall kommt man einfach mit dem Einschaltknopf zurück.

Der Reihe nach nun die üblichen Löschbefehle anwählen:

  1. Wipe Data
  2. Wipe Cache
  3. Advanced -> Wipe Dalvik Cache

Wenn das erledigt ist, muss die /system-Partition noch manuell gemountet werden:

  1. Mounts and Storage -> mount /System

Danach "install zip from SD card" anwählen und der Reihe nach CM7.zip und gapps.zip (es muss genau diese hier sein: gapps-gb-20110828-signed) anwählen und installieren lassen. Das geht recht fix.

Als nächstes den Reboot auswählen und warten ...
Wie üblich dauert der erste Start von CyanogenMod recht lang, danach kann man sich das System neu einrichten. Einige Google-Apps wollen sich danach von selbst updaten.

Wenn etwas schiefgeht: keine Panik, man kann problemlos immer wieder zurück zur Motorola-Originalversion. Am PC muss man mit dem Motorola-Devicemanager zunächst alle Windows-USB-Treiber und danach die Flashsoftware "RSD Lite" installieren. Wenn das erledigt ist, als nächstes kurz den Akku entnehmen, Gerät aufklappen, Akku wieder einlegen, bei gedrückter Cursor-Hoch-Taste einschalten und die Cursor-Taste weiter gedrückt lassen, bis ein bißchen Text in weiß auf schwarz erscheint.

Jetzt das USB-Kabel zum PC anschließen, abwarten, bis Windows alles erledigt hat, und dann RSD Lite starten. "Show Device" anklicken. Sobald das Telefon erkannt wurde, mit dem "..."-Button die SBF-Datei mit der Originaldatei von Motorola anwählen und auf "Start" klicken (Runterladen kann man meistens eine sbf.zip oder sbf.gz, die muss ausgepackt werden, z.B. mit 7-Zip). Das Flashen dauert ca. 5 Minuten. Unbedingt das Kabel stecken lassen, bis das Telefon von allein neu startet und im Flashprogramm "PASS" angezeigt wird. Erst jetzt das Kabel entfernen. Patsch, das Telefon ist wieder auf Android 2.1.

Allerdings macht es ehrlich gesagt keinen großen Spaß mit dem kleinen Bildschirm. Trotzdem finde ich es faszinierend, dass es eine Entwicklergemeinde gibt, die das aktiv betreibt ;)

Zum Schluss noch der versprochene Punkt mit der Verbesserung der geringen RAM-Ausstattung: wenn man eine hinreichend große SD-Karte einsetzt, kann man diese Karte mit zwei primären Partitionen ausstatten (eine große mit FAT32, eine kleinere 1 bis 2 GB große mit ext2), kann man mit Hilfe der App INT2EXT die interne und die externe SD-Karte "tauschen" und hat dann nicht mehr knapp 150 MB, sondern die gesamte ext2-Partition auf der großen SD-Karte zur Verfügung. Der Rest der SD-Karte ist dann wie üblich Datenbereich für Fotos, Musik etc.
Für die Partitionierung der SD-Karte muss man die Karte in einem Kartenleser an ein Linux-System anschließen und kann dann mit fdisk oder einem ähnlichen Tool die SD-Karte umbauen. Danach ist aber der Menüpunkt "SD-Karte entnehmen" in den Android-Einstellungen tabu, sonst zieht man dem laufenden Android-System den Boden unter den Füßen weg ;)
Technisch passiert dabei folgendes: die App verschiebt große Dateien auf die externe SD-Karte und hinterlässt an der ursprünglichen Stelle im internen Filesystem nur einen symbolischen Link (eine wunderbare Erfindung von Unix) auf die große SD-Karte.

28.03.2013

Motorola Milestone2 mit Android 4.1.2 (CM10)

Wow, ich bin begeistert. Das hätte ich der alten Dame gar nicht zugetraut, dass sie mit Android 4.1.2 so eine gute Figur macht! Aber von vorne ... latürnich.

Ich habe vorhin das Motorola-Handy meiner Frau von Android 2.3.4 auf 4.1.2 upgedatet. Da es von Motorola keine eigene Version von Android 4 für das MS2 gibt, habe ich auf das Ergebnis einiger fleißiger Programmierer vom "CyanogenMod"-Team zurückgegriffen.

Ich bin begeistert, wie geschmeidig das Telefon mit der (fast) neuen Android-Version flutscht. Natürlich kann es von der Aktualität nicht mit den Nexus-Modellen mithalten, die von Google vollautomatisch neue Versionen erhalten.

Andere Hersteller bauen noch ihre eigenen Anpassungen wie "TouchWiz" oder "Sense" ein und müssen das wohl noch weltweit von den Telefonfirmen abnehmen lassen, bevor sie es als Update verteilen. Ich persönlich bevorzuge die schnellen Updates für Google Nexus-Modelle ;). Umgekehrt finde ich die meisten Erweiterungen und Anpassungen eher misslungen, MotoBlur ist hier in meinen Augen ein prominentes Beispiel.

Zuerst war ich ziemlich nervös, weil ich in einigen Foren gelesen hatte, dass man sein Telefon unbrauchbar machen kann ... dann hätte man nur einen Ziegelstein ("brick") als Briefbeschwerer.

Dann habe ich mit Tante Google nach Anleitungen gesucht und bin bei Android-Hilfe.de fündig geworden. Es ist wirklich recht einfach und hat sofort beim ersten Mal funktioniert. In den Foren dieser Website gibt es auch Anleitungen, wie man ein "totes" Telefon wiederbeleben kann, wenn doch etwas schiefgeht, das hat mir etwas Mut gemacht ;)

Der Ablauf ist wirklich einfach: im Prinzip ist die größte Hürde, dass der Hersteller sowas eigentlich gar nicht will und deswegen mit allerlei Tricks zu verhindern versucht, dass man eine fremde Software-Version installiert. Das kann man damit umgehen, dass man sich auf dem Telefon Administrator-Rechte verschafft (Unix: root-Rechte, bei Apple iPhones nennt man das Verfahren "jailbreak").

Ich habe das Programm "SuperOneClick" verwendet, mit dem man unter Zuhilfenahme eines Windows-PCs das Telefon tatsächlich, wie der Name sagt, mit einem Mausklick so modifizieren kann, dass man root-Rechte bekommen kann. Mit "SuperOneClick" kann man sehr viele Android-Telefone bearbeiten, weil alle Hersteller dieselben Sicherheitslücken in ihre Software einbauen, um uns "Hackern" Arbeit zu ersparen ;)

Dieser Trick mit dem "Rooten" ist nur nötig, damit der nächste Schritt funktioniert, nämlich, ein geändertes Startprogramm zu installieren, damit man dann im überübernächsten Schritt ein "fremdes" Android auf dem Telefon installieren kann. Nach der erfolgreichen Installation  der neuen Android-Version müsste man das Rooten wiederholen, weil ja das alte, "geknackte" Android komplett mit einer neuen Version ersetzt wurde, die erst mal noch nicht wieder gerootet ist. Allerdings kann diese Sicherheitslücke auch von Schadsoftware ausgenutzt werden, hier muss jeder für sich abwägen, ob er permanent "root" benötigt oder darauf verzichten kann.kann man dieses "Rooten" sogar wieder rückgängig machen, wenn man eine (kleine, theoretische) Sicherheitslücke gar nicht erst anbieten will

Der nächste Schritt besteht jetzt darin, eine App "droid2Bootstrap.apk" zu installieren, die das neue Startprogramm installieren kann. Diese App benötigt Root-Rechte, um die massiven Änderungen am Telefon und dem Linux-System, das darin steckt, vorzunehmen.

Außerdem ist es nötig, vor dem Reboot auf die im Telefon eingebaute Speicherkarte die gewünschte neue Android-Version zu überspielen. Dazu muss man sich das neueste "stable" CM10-Android herunterladen und die ZIP-Datei auf's Telefon bringen. Danach kann man noch die Original-Google-Apps (Play Store, Maps, Gmail etc.) ebenfalls als ZIP auf die SD-Karte spielen. Manche Forenbeiträge empfehlen auch noch, eine ZIP-Datei mit einem neueren Linux-Kernel zu überspielen und zu installieren, das habe ich nicht gemacht. Es funktioniert trotzdem ;)

Nachdem diese Änderungen durchgeführt wurden, startet man das Telefon neu. Es wechselt dabei automatisch in einen Notfallmodus ("recovery mode"), in dem man ein neues Betriebssystem installieren kann.

In diesem Notfallmodus funktioniert der Touchscreen nicht, man kann nur mit den Tasten arbeiten. Die Lautstärketasten hoch/runter wählen einen Menüpunkt aus und mit der Kamera-Taste wird bestätigt. Die Power-Taste (kurz gedrückt) dient dazu, einen Schritt zurück zu gehen.

Zunächst wird "install ZIP" ausgewählt, danach im nächsten Menü "choose ZIP" und dann muss man die CM10-xxx.zip auswählen (Dateiname so, wie es runtergeladen und auf die SD-Karte überspielt wurde).
Dasselbe wird noch für die Google-Apps.zip gemacht.

Der nächste Schritt ist sehr wichtig: man muss leider den kompletten Telefonspeicher löschen ("wipe data") und insbesondere muss man einen Zwischenspeicher löschen, der noch Daten vom alten Android-System enthält, die nicht mehr zum neuen System passen ("wipe cache").

In manchen Forumartikeln wird empfohlen, das ganze zweimal zu machen, aber bei mir kam beim zweiten Versuch die Meldung "nothing to do".

Danach im Menü den Punkt "reboot" auswählen und Geduld mitbringen. Der erste Startvorgang dauert sehr lang (fast 30 min.), weil noch einige weitere Vorbereitungen durchgeführt werden. Danach wird es erträglich ;)

Ich war zwischendurch etwas beunruhigt, weil die Benachrichtigungs-LED plötzlich in Dunkelrot aufleuchtete, aber das hatte nichts Schlimmes zu bedeuten. Die LED ging wieder aus, und ein paar Sekunden später kam dann das animierte CyanogenMod-Logo.

Nach der Anmeldung bei Google fing das Telefon von allein an, die vorher installierten Apps herunterzuladen, die Kontakte waren auch vollautomatisch wieder da. Das einzige Lästige war, dass ich mich bei allen Nicht-Google-Diensten einzeln wieder anmelden musste, also Instagram, Skype, Foursquare, WhatsApp usw.usf. Das ist nervig. WhatsApp macht automatisch Sicherungen der ausgetauschten Nachrichten, nach der Anmeldung war alles wieder da, Gruppen, Kontakte und Bildchen. Dasselbe bei Pou, das meine Frau sehr gern spielt. Nach der Anmeldung mit der Emailadresse sah der Pou wieder genauso schräg aus wie vor dem Update. Sehr nett ;)

Etwas merkwürdig war die Abwesenheit von Google Mail. Das lässt sich aber problemlos aus dem Play Store installieren. Bei mir wurde es im Play Store des Telefons nicht angezeigt, ich musste mich auf dem PC im Play Store anmelden und die App von dort auf's Telefon schicken.

PS: die ganz hartgesottenen bauen sich natürlich ihr Android selbst aus den Quelltexten zusammen: die Sourcen von CM10 bekommt man mit diesem Befehl:
repo init -u git://github.com/tezet/android.git -b jellybean

[Update 20130402: Absatz über das Rooten und Unrooten korrigiert]
[Update 20140815: Bilder plötzlich kaputt]