Das Nexus S wurde bekanntlich mit Android 2.3 Gingerbread veröffentlicht und hat vor einer Weile das offizielle OTA-Update auf Android 4.0 Ice Cream Sandwich von den Google-Servern erhalten. Dazwischen lag eine ganze Reihe von Gingerbread-Updates, wer sein Nexus S direkt nach der Veröffentlichung von 4.0 per Stock Recovery geflasht hat (die OTA-Auslieferung erfolgte ja erst viel später), hat eventuell auch schon diverse manuelle Updates bis zur aktuellen Version 4.0.4 hinter sich.
Nun gibt es diverse Gründe, das Android-Betriebssystem komplett neu zu installieren. Vielleicht liegt ein Garantiefall vor und das Gerät wurde auf Software-Ebene verändert (Root oder Custom Roms), vielleicht sind Fehler entstanden (bei mir ging der Power-Button nur noch manchmal und nicht so, wie er sollte), vielleicht will man auch einfach Gingerbread wieder haben. Seit Android 4.0 ist das Flashen über das Recovery-Menü (Stock Recovery) aber nicht mehr möglich, eine Installation schlägt mit “Status 7″ fehl. Daneben ist das Recovery-Menü aufgrund eines Softwarefehlers komplett schwarz und muss blind bedient werden.
Für Windows gibt es Massen an Anleitungen und diverse Tools, bei Linux sieht es da eher mau aus. Allerdings gibt es für diesen Zweck das Android SDK, eine Android-Entwicklerumgebung, unter anderem auch für Linux.
Ich erkläre hier (hoffentlich für Laien gut verständlich), wie man unter Ubuntu oder Debian ein komplettes Factory Image per SDK auf dem Nexus S installiert.
Kommen wir erst einmal zu den Vorbereitungen:
Zuerst benötigen wir das “Java Development Kit” JDK und die Java-Laufzeitumgebung JRE, diese installieren wir mit:
sudo apt-get install default-jdk
Die Abhängigkeiten werden autmatisch erfüllt, danach sollte sowohl das Java Development Kit, als auch Java Runtime Environment (beziehungsweise deren freie Pendants) installiert sein.
Nun laden wir uns das Android SDK von Google herunter (in der Liste unten gibt es die Linux-Version) und entpacken es. Den Gesamten Ordner kopieren wir in unser Home-Verzeichnis und nennen ihn der Einfachheit halber “android-sdk”. Prinzipiell ist das SDK nun einsatzbereit. Da wir aber mit dem Terminal arbeiten und nicht immer den gesamten Pfad zum gewünschten Programm eintippen wollen, tragen wir noch zwei Zeilen in die Datei .bashrc ein. Dafür öffnen wir die Datei mit gedit:
gedit ~/.bashrc
und kopieren folgende zwei Zeilen ganz ans Ende der Datei (der Pfad muss angepasst werden):
export PATH=${PATH}:/home/DEINUSERVERZEICHNIS/android-sdk/tools
export PATH=${PATH}:/home/DEINUSERVERZEICHNIS/android-sdk/platform-tools
Unter /home/DEINUSERVERZEICHNIS/tools/ finden wir die Datei “android”. Diese machen wir ausführbar (geht in den Einstellungen im Rechtsklick-Menü) und öffnen sie (Ausführen!).
Wir sehen nun eine Paketliste und installieren die Platform Tools (Haken bei “Android SDK Platform-tools” setzen und unten auf “Install” klicken).
Geschafft, es kann los gehen. Allerdings geschieht das ganze auf eigene Gefahr! Die Software ist zwar von Google unter anderem genau dafür gemacht, aber es kann immer etwas schief gehen. Und wenn das passiert, hab ich euch gewarnt.
Zur Neuinstallation:
Das SDK läuft, nun benötigen wir noch die komplette Version des Betriebssystems. Diese laden wir uns wieder direkt bei Google herunter. Android 4.0.4 (Ice Cream Sandwich) und 2.3.6 (Gingerbread) für das europäische Nexus S (i9023) findet man hier. Auch die Versionen für andere Gerätetypen gibt es auf dieser Seite.
Das heruntergeladene Archiv müssen wir nun komplett entpacken, wir bekommen einen Ordner namens “soju-imm76d” (4.0.4) oder “soju-grk39f” (2.3.6). Den Inhalt des Ordners kopieren wir in den Ordner “platform-tools” im Android-SDK.
Sichert vor der Neuinstallation sämtliche Daten auf der Speicherkarte (diese wird zwar nicht gelöscht, aber sicher ist sicher, Kontakte und Apps könnt ihr über euer Google-Konto sichern (sehr bequem, nach der Neuinstallation wird alles wiederhergestellt). Besorgt euch eventuell eine App, die SMS und andere wichtige Dinge über euer Google-Konto sichert, nach der Neuinstallation sind die nämlich weg. Wenn noch irgendetwas ungespeichert offen ist, schließt es und sichert es mit.
In den Einstellungen des Nexus S (Entwicklerooptionen) aktivieren wir das “USB-Debugging” und stecken das Handy per USB-Kabel am PC an, aktivieren aber nicht den Massenspeicher.
Wir öffnen nun das Terminal und wechseln in den Ordner “platform-tools” des SDK:
cd /home/DEINUSERVERZEICHNIS/android-sdk/platform-tools/
Nun können wir das Factory Image installieren. Wir tippen folgende Befehle im Terminal ein:
adb reboot bootloader
Das Smartphone startet neu und wechselt in den Bootloader.
fastboot flash bootloader bootloader-crespo-VERSION.img
Der Bootloader wird geflasht. VERSION muss durch die Buchstaben/Zahlen eurer Version der Datei getauscht werden.
fastboot reboot-bootloader
Das Smartphone wird erneut in den Bootloader neu gestartet.
fastboot flash radio radio-crespo-VERSION.img
Die Kommunikationsebene wird geflasht. VERSION muss wieder getauscht werden.
fastboot reboot-bootloader
Wieder ein Neustart
fastboot -w update image-VERSION.zip
Android wird geflasht. Auch hier muss VERSION getauscht werden. Hier kann das Flashen länger dauern.
Sollte an einem Punkt <waiting for device> ausgegeben werden, ist entweder das Smartphone aus, oder ihr besitzt nicht die Rechte, USB-Geräte zu ändern. Dann einfach vor jeden Befehl “sudo” schreiben. Beispiel:
sudo fastboot flash bootloader bootloader-crespo-VERSION.img
Fertig. Das Handy startet selbsttätig und kann neu eingerichtet werden.
Wenn ihr irgend etwas nicht versteht oder ein Fehler auftritt, schreibt einen Kommentar. Ich hoffe, euch helfen zu können!
Pingback: Mobiles Ubuntu: Canonical veröffentlicht Ubuntu-Installer für das Nexus 7