18.03.2016

Cyanogenmod 13 Marshmallow auf dem Galaxy S2

Seit einiger Zeit gibt es Nightlies, und kürzlich auch die Meldung über die ersten "echten" Releases von CyanogenMod Version 13, das auf Marshmallow, also Android Version 6, basiert.

Da ich immer noch ein paar alte Galaxy S2 zum Basteln und Experimentieren verwende, wollte ich mir die neueste Version natürlich gleich anschauen. Es gibt tatsächlich Enthusiasten, die für das S2 (i9100) noch neue Android-Versionen zusammen bauen.


Also ein Nightly heruntergeladen und gleich ganz mutig auf das Smartphone in den Ordner cmupdater geworfen. Danach in den Einstellungen "CyanogenMod-Update" angewählt, auf den Eintrag für CM 13 getippt, gewartet, und zack!, hatte ich CM 13 auf dem Gerät.

Das ging eigentlich ganz gut - ich war nur etwas überrascht, dass das fertig eingerichtete S2 plötzlich kein Google-Konto mehr hatte. Das Gerät war eigentlich vom letzten Update auf Lollipop noch mit einem Testkonto angemeldet, aber das war plötzlich weg.

Auch ein Factory Reset half nicht - danach hatte ich gar keine Google Apps mehr auf dem S2.

Generell denke ich mittlerweile, dass man bei einem Umstieg auf eine komplett neue Release-Version (5 -> 6) einen Factory-Reset machen sollte. Die internen Strukturen ändern sich so stark, dass man sich versteckte Probleme einhandelt, die man kaum selber finden und reparieren kann. Innerhalb einer Version (6.0 -> 6.0.1 etwa) funktioniert das Update problemlos ohne Neueinrichtung.

Etwas Forschen und Nachlesen brachte dann einige gravierende Veränderungen zutage, auf die ich prompt hereingefallen bin. Vielleicht sollte ich erst lesen und dann ausprobieren. Aber andersherum macht es mehr Spaß ;)

Eine der Veränderungen hatte ich mit Lollipop schon erledigt: die /system-Partition hatte ich damals schon mit Odin und einer .pit-Datei vergrößert, weil die vorhandenen 500 MB nicht mehr für CM 13 und die Google Apps ausreichen. Man sollte mindestens 1 GB vorsehen. Wenn man die komplette Google-Apps-Sammlung vorinstallieren will (in die Systempartition) sollte man 2 oder 4 GB einplanen. Das geht dann natürlich wieder zu Lasten des freien Speichers für Apps, Daten, Bilder, Musik etc. Kann man sich überlegen ;)

Aber eine andere Veränderung hat mir ein Bein gestellt: Cyanogenmod bringt jetzt ein eigenes Recovery mit, das bei jedem Update das bisherige Recovery ersetzt. Und das CM-eigene Recovery schafft es nicht, die Google Apps von opengapps.org zu installieren. Es erscheint eine sehr gut lesbare Fehlermeldung in dunkelblau auf schwarz (oder bin ich nur mittlerweile zu alt für sowas?), dass man TWRP als Recovery nehmen muss, um die opengapps zu installieren.

Erschwerend beim S2 und einigen anderen Galaxy-Modellen ist nun, dass es kein separates Recovery-Image zum Flashen gibt - das Recovery ist mit dem Linux-Kernel zu flashen. Es gibt zwar eine Recovery-Partition im Speicher des S2, aber die wird nicht verwendet. Alles ein wenig seltsam, aber damit muss man wohl leben ...

Der Ablauf, um ein funktionsfähiges S2 mit CM 13 zu erhalten, sieht also so aus:

Herunterladen und Flashen eines Linux-Kernels für das S2 mit einem aktuellen TWRP-Recovery. Dazu verwendet man das "isorec"-Projekt. TWRP selbst ist wegen der Geschichte mit dem Kernel (s.o.) zickig und baut selbst keine Pakete für Samsung Galaxy mehr.

Das Flashen dieses Paketes führt man am besten per "adb sideload" durch. Um das erfolgreich durchzuziehen, braucht man eine Minimalinstallation der Google Android Developer-Tools, von denen "adb" ein Teil ist. Es gibt aber auch Minimalpakete, die nur ein lauffähiges "adb.exe" mit ein paar Windows-DLLs enthalten.

Wichtig ist, dass man auf dem S2 bei einem laufenden Android in den Entwickleroptionen den Debugmodus aktiviert, damit S2 und PC sich über USB anfreunden und man den Schlüsselaustausch zwischen den Geräten bestätigen kann. Ansonsten kann man mit adb keine Dateien übertragen, wenn man im Recovery "sideload" anwählt. Beim Befehl "adb devices" erscheint dann "unauthorized" und es geht nicht weiter.

Wenn man das TWRP-Recovery geflasht hat, kann man mit "adb reboot recovery" gleich in dieses Recovery wechseln. Im TWRP wählt man nun unter "Advanced" den Punkt "ADB sideload" an, markiert die beiden Kästchen unter "wipe flash/wipe dalvik" und wischt dann zur Bestätigung den blauen Schalter nach rechts.

Nach dem Flashen eines neues Recovery-Image könnte man übrigens mit "Triangle Away" das gelbe Warn-Dreieck vom Samsung-Startbildschirm entfernen.

Jetzt wird es umständlich:
man muss in der richtigen Reihenfolge die heruntergeladene zip-Datei von CM 13 mit "adb sideload" installieren, danach die gewünschte Version der opengapps (pico, nano, micro,  etc. - je nachdem, welchen Umfang von Google Apps man vorinstallieren möchte), und danach muss man nochmals das TWRP-Recovery flashen, weil mit CM 13 ja das CM-interne Recovery mitkommt, dass das vorhandene TWRP-Recovery gerade wieder überschrieben hat.


Nach jedem "adb sideload" kehrt man mit der "<--"-Taste auf dem Touch-Screen wieder einen Schritt zurück, wählt erneut "ADB sideload" an und  wischt zum Aktivieren. Dann erneut auf dem PC den nächsten "adb sideload"-Befehl eingeben.

Es ist wichtig zu wissen, dass dadurch der "adb sideload" ebenfalls gerade wieder kaputtgegangen ist, und man das im Debugmode wieder neu autorisieren muss.

Als Erfolg zeigt sich nach dem Booten und der üblichen Wartezeit mit dem CM-Gesicht und dem "Optimieren der Apps ... x von y" unter den Eigenschaften so etwas Ähnliches wie hier rechts.

Es ist übrigens empfehlenswert, im Entwicklermenü dann den Schalter "CM recovery aktualisieren" zu kontrollieren und auszuschalten, damit man nicht nach jedem CM-Update erneut auch TWRP wieder flashen muss.

Außerdem habe ich die Beobachtung gemacht, dass das CM-Recovery nicht von der eingesteckten SD-Karte (sdcard1) installieren kann, es springt nach dem Anwählen sofort zurück ins Recovery-Hauptmenü.

[Update 20160412]
Nachtrag zum Thema "TriangleAway": die derzeitigen Nightlies von CM 13 haben ein Problem, Root-Zugang zu gewähren. Es ist nicht möglich, TriangleAway zu starten. Auf einem der S2 bin ich von Factory 4.1.2 direkt auf CM 13 gegangen, und TriangleAway funktioniert nicht. Auf einem zweiten hatte ich zuerst das Update auf CM 12.1 ausprobiert, und unter 12.1 funktioniert der Root-Zugriff. Derzeit ist es also eine Überlegung wert, das Update in zwei Schritten durchzuführen, zuerst auf CM 12.1, dann TriangleAway aufzurufen, und danach wie oben beschrieben das Update auf CM 13.

15.03.2016

Wahlcomputer - Leserbrief

Ein paar Tage nach den Kommunalwahlen in Hessen erschien ein sehr persönlicher Bericht in unserer regionalen Tageszeitung, in dem ein Wahlhelfer über den Ablauf der Wahl und seine Eindrücke berichtete.
Eigentlich war das ein sehr netter Artikel, der Mut macht, sich selbst als Wahlhelfer zu melden und aktiv an unserer Gesellschaft mit zu arbeiten und zur Demokratie beizutragen.
Aber der Artikel hatte in meinen Augen einen üblen Haken: der Autor beschrieb, dass durch das Kumulieren und Panaschieren das Auszählen sehr kompliziert sei und spekulierte, dass es mit Wahlcomputern schneller und zuverlässiger ginge.
Das hat mir nicht gut gefallen, und in einem Leserbrief habe ich geschrieben, warum.
[veröffentlicht 15.03.2016]
[Beim Buchtitel ist mir ein Fehler passiert (von/für), unten korrigiert]
Leserbrief zum Wahlhelfer-Artikel vom 10.03.2016

Herr H. schreibt einigermaßen unterhaltsam über seine Tätigkeit als Wahlhelfer letzten Sonntag.
Ein Punkt, den er eher beiläufig erwähnt, hat mich aber als Informatiker zutiefst erschüttert:
die kritiklose Bemerkung, dass das Wahlverfahren so kompliziert und die Auszählung so anstrengend ist, dass Herr H. sich Wahlcomputer als Hilfe wünscht.

Ich als Informatiker und sehr auf Integrität und Zuverlässigkeit bedachter Software-Entwickler lehne Wahlcomputer grundsätzlich ab.
Das hört sich vielleicht zunächst absurd an, aber ich vertraue dem Grundprinzip freier, geheimer und nachvollziehbarer Wahlen.
Dies kann durch Wahlbeobachter gewährleistet werden. Aber es ist prinzipiell nicht möglich, einem Wahlcomputer zu vertrauen.

Zum Einen ist es einem Normalsterblichen nicht möglich, die Software in einem Wahlcomputer zu analysieren und zu verstehen.
Hingegen kann wirklich jeder die Auszählung der Stimmen aus den Wahlurnen beobachten und sich selbst überzeugen.

Sie mögen einwenden, dass in vielen Bereichen unseres Lebens die Prüfung an Fachleute delegiert wird, denen wir vertrauen (sollen).

Aber: eine demokratische Wahl ist das Fundament unserer Gesellschaftsordnung.
Wollen Sie wirklich an dieser Stelle Zuverlässigkeit und Vertrauen zugunsten von ein bißchen Bequemlichkeit beim Auszählen aufgeben?
Ob das Wahlergebnis nun einen oder erst zwei Tage später vorliegt, ist in meinen Augen vollkommen unerheblich. Wo ist der Zeitdruck?

Zum Zweiten weigern sich die Hersteller von Wahlcomputern, unabhängigen Kontrolleuren überhaupt diese Möglichkeit einzuräumen mit dem Hinweis auf Geschäftsgeheimnisse und Urheberrechte (z.B. weigert sich die amerikanische Firma Diebold vehement, externen Software-Prüfern Zugang zu geben).
Vertrauen wir wirklich einer amerikanischen Firma mit zweifelhaftem Leumund?

Sollte diese Hürde genommen sein, kommt das nächste Problem beim tatsächlichen Betrieb zu Tage:
es ist nicht klar, ob während der Durchführung wirklich exakt die vorher geprüfte integre Softwareversion zum Einsatz kommt oder nicht heimlich ausgetauscht wurde.

Bei früheren Wahlen hat der Chaos Computer Club (CCC) gezeigt, dass die Wahlcomputer durch menschliche Fehler nicht ausreichend geschützt werden und die Software heimlich ausgetauscht werden kann, ohne dass dies durch Schutzmechanismen bemerkt wurde. Teilweise wurden die Wahlcomputer in Privatwohnungen oder Autos von Wahlhelfern gelagert.

Ob nun wirklich die Stimme wie vom Wähler beabsichtigt gezählt wird und dies dem entspricht, was auf dem Bildschirm oder auf einer ausgedruckten "Quittung" angezeigt wird, kann der Wähler nicht prüfen.

Andreas Eschbach hat dieses Szenario in seinem Thriller "Ein König für Deutschland" sehr detailliert beschrieben. Dort hat der Programmierer eine Hintertür in die Software des Wahlcomputers eingebaut und eine Partei mit einem bestimmten Kürzel wurde unauffällig bevorzugt, wenn bestimmte Bedingungen eintrafen (so ähnlich wie die VW-Motorsoftware, die nur in bestimmten Situationen betrügt). Im Ergebnis erhielt eine monarchistische Partei die absolute Mehrheit. Das Buch ist sehr unterhaltsam geschrieben und enthält nebenbei viele interessante Details über Wahlrecht und die demokratischen Prinzipien. Ich kann es nur empfehlen!

02.03.2016

Datenschutz und Cloud - Leserbrief

Schon ein paar Tage her, dass ich den Leserbrief als Antwort auf eine Glosse des Redakteurs B. Bräuning schrieb. Dann blieb er liegen (der Leserbrief), weil ich nicht wusste, ob mir vielleicht noch etwas mehr zum Thema einfiele. Kam aber nix mehr. Hier ist er.
[Veröffentlicht am 01.03.16, Änderungen in blau]

Leserbrief zur Glosse "Cloud" vom 17.02.2016

Herr Bräuning, Sie schreiben in Ihrer Glosse über das Thema "Cloud" und Datenschutz.

"Cloud" ist derzeit ein Modewort, und jeder will so etwas haben, sowohl geschäftlich als auch privat.

Aber: "Cloud" ist nur ein Fremdwort für "Computer anderer Leute". "Cloud" bedeutet im Wesentlichen, dass die Daten nicht auf einem Datenträger gespeichert werden, auf den Sie selbst physischen Zugriff haben, sondern ausschließlich über im Netzwerk, d.h. Internet.

Damit wird auch offensichtlich, welche Probleme man sich damit einhandelt. Zum Einen kontrolliert ein Fremder den Zugang zu den Datenträgern, und zum Anderen geschieht der Zugang über Netzwerkverbindungen, von denen wir mittlerweile wissen, dass jeder Staat sie nach Lust und Laune abhört, und zwar in großem Maßstab!
Über die Qualität der Verschlüsselung - sofern vorhanden - und die Qualität des Designs dieser Verschlüsselung kann man bei den meisten Firmen wenig Genaues erfahren.

Sie spekulieren etwas flapsig, wie in der elektronischen Cloud Datenverlust aussieht und vergleichen das bildlich mit dem Regen aus den natürlichen Wolken.
Das ist zwar unterhaltsam und gut vorstellbar, aber nicht mal bei großer Anstrengung als Metapher verwendbar.

Eine schwerwiegende kommende Ursache für Datenverlust und insbesondere Verlust der Souveränität über unsere eigenen Daten haben Sie nicht erwähnt.

Diese Ursache heißt "Gesetzgebung", und damit meine ich, dass Staaten unterschiedliche Gesetze erlassen, die den staatlichen Zugriff auf Daten in der Cloud regeln wollen.
In den USA sind gerade Beratungen im Gange, dass Firmen mit US-Sitz oder einer Niederlassung dort den amerikanischen Behörden auch Zugang zu den Daten von Tochterfirmen im Ausland gewähren müssen. Damit müsste z.B. Microsofts Tochterfirma die in Irland gespeicherten Daten an US-Behörden ausliefern. Microsoft kann sich nun aussuchen, ob sie gegen europäische oder amerikanische Gesetze verstoßen wollen - einen Tod müssen sie sterben. Ich könnte mir im schlimmsten Fall sogar vorstellen, dass die deutsche Telekom Daten ausliefern müsste, wenn ein amerikanisches Gericht die US-Tochter T-Mobile USA dazu verurteilt.

Und um noch ein bißchen weiter in die Glaskugel zu schauen: wenn das Freihandelsabkommen TTIP kommen sollte, sind die Klagen vor Schiedsgerichten vorprogrammiert, die strengen Datenschutzregeln aufzuweichen, weil sie ein Handelshemmnis darstellen.

Ich wage zu behaupten, die "Schöne Neue Welt" und "1984" von Huxley und Orwell sind in ihren Voraussagen noch harmlos gegen das, was uns bevorsteht, wenn der Datenschutz zugunsten von Firmeninteressen aufgegeben wird.