Update von CyanogenMod bei System-Verschlüsselung

Eine CyanogenMod-Androidin bereit zum Update

Eine CyanogenMod-Androidin bereit zum Update


Hinweis: Die hier vorgestellte Lösung bezieht sich insbesondere auf die Fehlermeldung „insufficient permissions for device“, nachdem das Update bereits auf einer Androidin downgeloadet wurde.

Vor einigen Tagen wurde CyanogenMod 10.1.3 veröffentlicht. Wer sein System verschlüsselt hat, muss zur Kenntnis nehmen, dass der an sich simple Update-Prozess auf Grund nicht mountbarer Volumes (interne sdcard) so einfach nicht mehr möglich ist.

Deshalb wird im folgenden ein Workaround erklärt, wie ein Update trotzdem durchgeführt werden kann.

Zu Beginn einige Anmerkungen über die Unklarheiten bestehen und daher umso eingehender geprüft werden sollten:

  • Ist ein kompatibles Recovery installiert?
  • Ist ein Firewall aktiviert? (evtl. im Offline-Modus deaktivieren)
  • Befindet sich das Gerät im USB-Debugging-Modus? (Einstellungen/About/Build-Number/7 mal tippen-für-Leute-denen-fad-ist)

Voraussetzungen:
Dieses How to wurde mit einem Linux/Ubuntu-Rechner getestet. Wer Win verwendet kommt wahrscheinlich ebenfalls zum Ziel, allerdings wird einiges mehr an Ressourcen verlangt (Android SDK, die ihrerseits wiederum abhängig von einem buggigen Java ist). Eine deutschsprachige Anleitung findet sich beispielsweise auf http://www.droid-life.com.

Unter Linux wird ein wenige KB-großes android-tools verlangt, um die Android Debug Bridge zu steuern.
Die einwandfreie Funktion kann in einem Terminal mit folgenden Kommandos getestet werden:
Mit dem Befehl lsusb wird festgestellt, ob die Androidin vom Rechner-System erkannt wird (nach Eintrag Google Inc. suchen).
Wer diese erste Hürde geschafft hat, sucht in der Androidin nach einem verfügbaren CyanogenMod-Update (Hinweis per Popup oder im Settings/About-Dialog nach CyanogenMod-Updates suchen). Hier die Fragen, ob das Update durchgeführt werden soll, wie im richtigen Leben auch, brav abnicken. Die Androidin wird anschließend heruntergefahren und im ClockworkMod neu gestartet.

Der hier vorgestellte Workaround lädt von http://get.cm  (nochmals) das neue Rom (aktuell cm-10.1.3-tilapia.zip, md5sum-Wert unbedingt vergleichen!), diesmal auf den steuernden Rechner. An dieser Stelle die praktische Empfehlung das Ding auf ein kurzes emma.zip oder etwas ähnlich Sinnvolles umzubenennen.)

Mit adb shell wir geprüft, ob mögliche Probleme vorliegen. Die Ausgabe error: insufficient permissions for device deutet auf ein Rechte-Problem hin, dessen Behebung (für ein hier: Nexus) denkbar einfach ist, wenigstens wenn das Informations-Patchwork zusammengetragen wurde.

Die Schritte im Detail:

  1. Tod dem Server!
    adb kill-server
  2. 2. Lang lebe der rechtmäßige Server!
    sudo adb start-server
  3. Das System startet nach positiver Prüfung, ob ein OrgaMitglied fragt, den Systemdämonen
    daemon not running. starting it now on port 5037 *
    * daemon started successfully *
  4. Wir fragen mit adb devices nach den widerständigen Systemressourcen und erhalten
    List of devices attached
    ZiffernBuchstabenKombination     sideload
  5. Mit adb sideload emma.zip (Name wie siehe oben) wird der Update-Prozess gestartet [Update: emma.zip liegt hier im /home-Verzeichnis, falls nicht Pfad/nach/emma.zip!!]
    sending: ’sideload‘  1%

Der Prozedur folgt ein Reboot und abschließend ein neuer Konfigurationsprozess. Es wäre eine gute Idee, jetzt den Firewall wieder aktiv und das USB-Debugging deaktiv zu setzen (Hinweis im linken oberen Benachrichtigungsfeld beachten).
Freilich sollte es auch möglich sein, den Sideload direkt von der Androidin zu starten. Der Versuch wurde jedoch mit der Meldung connection closed (Port?) quittiert. (Das Herausfinden einer eleganten Lösung erschien mir zu ernst und mächtig mühsam zu sein.)

CyanogenMod hat sich inzwischen als Unternehmen etabliert. In der Community tauchten deshalb mehr als berechtigte Bedenken auf, ob die amerikanische Spionage-Organisation NSA auch CyanogenMod unter Druck setzen wird, entsprechende Backdoors in den Android-Überbau zu implementieren.

Wer will, kann die Frage nach einem Account, oben rechts mit Weiter negieren und die Standorterfassung über GPS und WLAN ablehnen.
Noch lässt sich CyanogenMod trotzdem verwenden.

Update März 2015: Bei manchen Geräten erfordert adb sideload ebenfalls admin-Rechte (->sudo)!

Hinweise:
Alle Angaben zum Upgrade sind selbstverständlich ohne Gewaehr und auf eigenes Risiko. Das USB-Kabel zum Verbinden von Rechner und Androidin muss von den User_innen ebenfalls selbst beigestellt werden.

Wem dieser Beitrag eine Hilfe war, ist herzlich eingeladen an das RefugeeCamp Vienna zu spenden, um den legitimen Kampf der Refugees für ihre Rechte zu unterstützen. Alle anderen dürfen selbstverständlich auch…

Links:
Infos zum adb server: http://wiki.cyanogenmod.org/w/Adb
Infos zum USB-Debugging-Modus: http://code-bude.net/2013/03/05/usb-massenspeicher-und-usb-debugging-unter-cyanogenmod-10-1-aktivieren/
Infos zum ClockWorkMod: http://www.droidwiki.de/ClockWorkMod
CyanogenMod stable-Releases: http://get.cm/?type=stable