Aufgenordet: Mein Nexus 4 bekommt das KitKat-Upgrade!

Im Artikel KitKat auf's Nexus 7 oder Nexus 10 schrauben … hatte ich die Tage berichtet, dass Google das Update auf Android 4.4 für die Nexus Tablet PCs bereitstellt. Das Nexus 4 blieb außen vor – Google gibt an, dass man Kitkat "soon" für die 3G-Varianten des Nexus 7/10 und für das Nexus 4 bereitstellt. In diesem Blog-Beitrag zeige ich, wie ihr (auch als nicht-Noob) bereits heute KitKat auf das Nexus 4 bekommt (die Anleitung lässt sich auch für andere Nexus-Geräte verwenden).


Anzeige

Hintergrund: Google hat diese Nacht die Factory-Images von Android 4.4 für seine Nexus-Modelle online gestellt. Diese Images hat z.B. jemand hier zwar fein säuberlich verlinkt und dann geschrieben: Die Images könnt ihr herunterladen. Man bräuchte also das OTA-Update nicht abzuwarten und könnte sofort updaten. Nur wie? Mag ja sein, dass es aller Welt klar wie Kloßbrühe ist, wie man die heruntergeladene .tgz-Datei als Update nutzen kann. Mir war es nicht klar (habe das noch nicht benutzt).

Daher stellte sich mir Noob-mäßig die Frage: Wie geht's weiter, wenn ich die .tgz-Datei auf dem Rechner habe? Da in den meisten anderen Techblogs diesbezüglich Schweigen im Walde herrscht, werfen wir mal einen Blick auf's Detail. Die beste (englischsprachige) Anleitung, die mir gestern unter die Augen gekommen ist, findet sich hier bei androidheadlines.com. Da findet sich auch der Download-Link für alle Nexus-Images und eine recht easy ausschauende Installationsanleitung …

… wie das abläuft war mir sofort klar. Aber ich ziehe es wohl an, laufe ich doch in 105 % der Fälle bei solchen Anleitungen krachend gegen die Wand. Ich habe daher mal eine Anleitung verfasst, wie es bei mir schließlich geklappt hat. Die Anleitung kann auch für die Nexus 7 und Nexus 10-Tablet PCs benutzt werden (wenn ihr die Dateinamen in den ADB-Befehlen entsprechend anpasst).

Achtung: Die folgende Anleitung wurde nach bestem Wissen verfasst. Ihr führt aber die Schritte auf eigene Gefahr durch – ich übernehme keine Verantwortung für gebrickte oder nicht funktionale Geräte! Weiterhin solltet ihr wichtige Daten vor der Aktion sichern, da das Smartphone in den Werksauslieferungszustand versetzt wird und alle Daten sowie installierte Apps danach weg sind.

KitKat-Abbild herunterladen und weitere Vorbereitungen

Als erstes brauchen wir den Download des aktuellen KitKat Factory-Images von dieser Google-Webseite. Ich habe mir die Systemabbilddatei für Android 4.4 für das Nexus 4 auf einen Windows-Rechner heruntergeladen. Diese Systemabbilddateien sind anschließend in einem lokalen Ordner zu entpacken. Problem: Windows stellt keinen Entpacker für .tgz- und .gz oder .tar-Archive bereit. Daher greift ihr euch ein Tool wie 7-Zip, welches es hier als portable Anwendung gibt (einfach die Archivdatei in einen lokalen Ordner entpacken und dann die Programmdatei starten).


Anzeige

  • Die Download-Datei occam-krt16o-factory-75ccae7a.tgz entpackt ihr mit 7-ZIP in einen weiteren lokalen Ordner.
  • Anschließend ist im Ordner occam-krt16o-factory-75ccae7a die Archivdatei occam-krt16o-factory-75ccae7a.tar erneut mit 7-ZIP zu entpacken.
  • Dann würde ich die Dateien im Teilpfad occam-krt16o-factory-75ccae7a\occam-krt16o in einen lokalen Ordner KitKat kopieren.

Mit diesem Schlenker habt ihr im Ordner KitKat die für das Upgrade benötigten Dateien.

Files01

ADB und Fastboot bereitstellen

Um diese Dateien vom Windows-Rechner auf das Nexus 4 (oder ein anderes Nexus zu schaffen), wird jetzt die Android Debug Bridge (ADB) und das Tool Fastboot benötigt. Diese Programme können über die USB-Schnittstelle die entsprechenden Aktionen auf dem Nexus 4 ausführen. Sowohl ADB als auch Fastbook sind Programme, die Bestandteil des Android SDK sind. Man kann sich dieses Android SDK hier bei Google kostenlos herunterladen und installieren.

Anmerkung: Bei mir war dies nicht erforderlich, da ich das Android SDK für meine Arbeit mit Android eh auf meiner Windows-Maschine habe. Wer nicht den fetten Download des SDK benötigt, kann auf dieser Seite sowohl ADB als auch Fastboot als Installer-Paket herunterladen und installieren. Ich habe das nicht getestet, aber die installierten Tools sollten ausreichend sein.

Ist das Android SDK installiert, finden sich die benötigten Dateien für ADB und Fastboot im Ordner android-sdk_r20\platform-tools (wobei mein Pfad noch auf die ältere Version R20 des SDK verweist). Die Dateien aus dem Ordner platform-tools sind in den Ordner KitKat mit den Installationsdateien zu kopieren.

Dann klickt man in einem Ordnerfenster bei gedrückter Umschalt-Taste den Ordner KitKat mit der rechten Maustaste an und wählt im Kontextmenü den Befehl Eingabeaufforderung hier öffnen. Es erscheint das Fenster der Eingabeaufforderung, in der nun die Android Debug Bridge (ADB) zu starten ist.

Voraussetzungen auf dem Nexus 4 gegeben?

Wenn wir schon bei einer möglichst präzisen Beschreibung sind, möchte ich auch die Infolücken, die zum Arbeiten mit ADB erforderlich sind, für das Nexus (oder jedes andere Android-Smartphone) füllen. Um per ADB auf Android zugreifen zu können, ist das USB-Debugging zu aktivieren. Wie dies genau funktioniert, habe ich im Beitrag:

a1: Samsung Galaxy S4 und die ADB-Schnittstelle – Teil 2

am Beispiel des Samsung Galaxy S4 beschrieben. Hier ist die Option beim Nexus 4 in den Entwickleroptionen zu sehen.

ADB01

Ist das Nexus 4 per USB-Kabel mit dem PC verbunden, wird die Verbindungsaufnahme per ADB auch bei aktiviertem USB-Debugging aber zunächst scheitern. Erinnerungsmäßig ist seit Android 4.2.2 eine weitere Sicherung gegen unbefugte Benutzung der ADB-Schnittstelle eingebaut. Das Android-Smartphone zeigt im entsperrten Zustand die nachfolgende Popup-Meldung.

ADB02

Der Benutzer muss dann explizit den RSA-Schlüssel als Fingerabdruck des debuggenden Computers über die OK-Schaltfläche zulassen. Erst dann kann erfolgreich mittels ADB auf Android zugegriffen und das Upgrade auf Android 4.4 (oder anderes) ausgeführt werden.

Jetzt noch das Update auf KitKat montieren

Sofern alles bis zu diesem Punkt mit den Vorbereitungen geklappt hat, müsste das Nexus 4 mit Android laufen und das USB-Debugging gestattet sein. Auf dem Windows-Desktop ist eine Eingabeaufforderung zu sehen (siehe folgende Bilder), in der dann die benötigten Befehle auszuführen sind. Im entpackten Ordner findet sich zwar eine Datei flash-all.bat, die man per Doppelklick ausführen können sollte. Das Batchprogramm enthält auch allerlei (für mich sinnvoll erscheinende) Befehle, die das Upgrade auf Android 4.4 durchführen sollten. Alleine, bei mir hat es die Batchdatei sofort mit Fehlern aus der Bahn geworfen. Aber mit dieser Anleitung hier sollte das Upgrade doch mit Null-Problemo manuell durchzuführen sein. Also flugs ans Werk. Zuerst ist in der Eingabeaufforderung der Befehl

adb reboot bootloader

einzugeben. Der Befehl ruft einmal die Android Debug Bridge auf, die dann über die USB-Verbindung zu Android Kontakt aufnimmt. Gegebenenfalls werden Sie, wie im vorherigen Abschnitt beschrieben, aufgefordert, den RSA-Fingerabdruck zu bestätigen. Scheitert der Befehl mit einem Fehler error: device offline, ist der RSA-Fingerabdruck nicht bestätigt. Wird kein Gerät gefunden, ist möglicherweise das USB-Debugging auf dem Nexus 4 nicht freigegeben oder das USB-Kabel nicht verbunden.

Dem adb-Befehl lassen sich dann weitere Parameter mitgeben. Diese stellen unter Android ausführbare Befehle dar. Der obige Befehl bewirkt also nicht nur den Start von ADB, sondern weist Android an, in den Bootlader zu starten. Die Android-Oberfläche verschwindet, das Nexus 4 sollte booten und dann das liegende Android-Männchen auf dem Bildschirm zeigen (hier unten links zu sehen).

Nexus04

Nexus04-1

Im Anschluss sieht die oben erwähnte Upgrade-Anleitung die Eingabe des Befehls

fastboot flash bootloader bootloader-filename.img

vor. Ganz nett. Dass da als Dateiname ein Platzhalter verwendet wurde, war mir auch klar. Im konkreten Fall gilt für das Nexus 4 und das Upgrade auf Android 4.4 per Firmware folgender Befehl:

fastboot flash bootloader bootloader-mako-makoz20i.img

Der hier rot eingefärbte Dateiname ist jeweils auf den Namen der Image-Datei abzustimmen (der verwendet Name steht hier für KitKat auf dem Nexus 4).

Was hoffnungsvoll begann, endete schnöde mit einer Fehlermeldung FILED (remote: not supported in locked device) – siehe folgendes Fenster der Eingabeaufforderung.

Eingabe01

Offenbar war der Bootlader meines Nexus 4 gesperrt. Aber auch das ist nicht wirklich ein Problem, die gute Tante Google wusste Rat und leitete mich zu dieser Seite bei DroidWiki. Mit folgenden beiden Befehlen wird der Bootlader des Nexus 4 entsperrt.

fastboot devices
fastboot oem unlock

Der erste Befehl prüft, ob ein Gerät gefunden wird, während der zweite Befehl den Bootlader freischaltet. Dies wird auf dem Nexus 4 mit der Anzeige "Unlock bootloader?" (siehe obige Abbildung, rechts) quittiert. Man muss nun die Lautstärkewippe für lauter betätigen, um den Eintrag Yes zu markieren und das durch die Power-Taste bestätigen. In der Eingabeaufforderung sieht das so aus:

fastboot oem unlock

OKAY [ 63.671s]
finished. total time: 63.674s

Sobald der Bootlader erfolgreich entsperrt wurde, können die Befehle zum Updaten des Bootloaders und zum Update der Firmware ausgeführt werden. Mit dem nachfolgend rot gefärbten Befehl:

fastboot flash bootloader bootloader-mako-makoz20i.img
sending 'bootloader' (2203 KB)…
OKAY [  0.075s]
writing 'bootloader'…
OKAY [  0.339s]
finished. total time: 0.419s

wird als erstes der Bootlader für KitKat ausgetauscht. Die obigen Sequenz zeigt die Rückmeldungen, wenn das erfolgreich bewerkstelligt werden kann. Dann ist ein Neustart mittels des folgenden, rot eingefärbten, Befehls notwendig.

fastboot reboot-bootloader
rebooting into bootloader…
OKAY [  0.003s]
finished. total time: 0.005s

Anschließend ist der "Radioteil" des Firmware-Upgrades zu aktualisieren. Dies erfolgt mit dem nachfolgend rot eingefärbten Kommando.

fastboot flash radioradio-mako-m9615a-cefwmazm-2.0.1700.84.img
sending 'radio' (45537 KB)…
OKAY [  1.443s]
writing 'radio'…
OKAY [  2.559s]
finished. total time: 4.007s

Auch hier sollten die obigen Rückmeldungen bestätigen, dass der Flash-Vorgang erfolgreich durchläuft. Nun ist wieder ein Neustart mit:

fastboot reboot-bootloader

auszuführen und dann das eigentliche KitKat-Upgrade mit folgender, rot gefärbter, Anweisung einzuleiten.

fastboot –w update image-occam-krt16o.zip
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
——————————————–
Bootloader Version…: MAKOZ30d
Baseband Version…..: M9615A-CEFWMAZM-2.0.1700.97
Serial Number……..: 04e95bbd89e17646
——————————————–
checking product…
OKAY [  0.002s]
checking version-bootloader…
OKAY [  0.004s]
checking version-baseband…
OKAY [  0.004s]
sending 'boot' (6336 KB)…
OKAY [  0.204s]
writing 'boot'…
OKAY [  0.379s]
sending 'recovery' (6884 KB)…
OKAY [  0.238s]
writing 'recovery'…
OKAY [  0.415s]
erasing 'system'…
OKAY [  0.819s]
sending 'system' (700500 KB)…
OKAY [ 22.126s]
writing 'system'…
OKAY [ 43.298s]
erasing 'userdata'…
OKAY [  0.205s]
formatting 'userdata' partition…
Creating filesystem with parameters:
Size: 6189744128
Block size: 4096
Blocks per group: 32768
Inodes per group: 8048
Inode size: 256
Journal blocks: 23612
Label:
Blocks: 1511168
Block groups: 47
Reserved block group size: 375
Created filesystem with 11/378256 inodes and 50366/1511168 blocks
sending 'userdata' (98413 KB)…
writing 'userdata'…
OKAY [ 10.120s]
erasing 'cache'…
OKAY [  0.028s]
formatting 'cache' partition…
Creating filesystem with parameters:
Size: 587202560
Block size: 4096
Blocks per group: 32768
Inodes per group: 7168
Inode size: 256
Journal blocks: 2240
Label:
Blocks: 143360
Block groups: 5
Reserved block group size: 39
Created filesystem with 11/35840 inodes and 4616/143360 blocks
sending 'cache' (10984 KB)…
writing 'cache'…
OKAY [  1.089s]
rebooting…

finished. total time: 78.988s

Die restlichen Anweisungen in obiger Sequenz sind die Rückmeldungen von ADB. Doof ist, dass von Google keine Signaturdateien im ZIP-Archiv mit dem Upgrade beigelegt wurden. Als ich die Fehlermeldungen (die auch bei Ausführung der Batchdatei erschienen) sah, fiel mir schon das Herz in die Hose. Aber ich habe mir gedacht: "Download ist offiziell von Google – kann also nix gefaked sein – Bootlader ist entsperrt – also muss es klappen".

Nach dem Neustart erschien schon mal das Google-Logo und es wurde nochmal gebootet. Da war ich schon beruhigt – offenbar nix gebrickt. Dann kamen vier tanzende Farbpunkte auf dem Display zum Vorschein. Als sich nach 30 Sekunden nichts tat, wurde ich leicht unruhig. Dachte mir "drücke mal die Power-Taste", um das Gerät zwangsweise auszuschalten. Und dann war der Android-Lock-Screen auch schon da.

Die tanzenden Farbpunkte sind bei KitKat wohl Programm – die kommen bei jedem Boot-Vorgang. Und in der Google+ Nexus 4-Gruppe habe ich gelesen, dass einige Leute 5 Minuten warteten, bis die Farbprunkte weg waren und der Locke-Screen erschien.

Bildschirm entsperrt und ich wurde vom Einrichtungsassistenten begrüßt, der mich durch die notwendigen Schritte zur Inbetriebnahme führte. Anschließend wurde ich von einem "ziemlich aufgeräumten", weil leeren Homescreen begrüßt (Foto unten links). Über das Ordnersymbol in der linken unteren Ecke konnte ich aber das hier sichtbare Popup-Fenster einblenden, in dem wichtige Apps-Symbole untergebracht waren. Zudem gibt es vom Homescreen den Zugriff auf den PlayStore, auf die Telefoniefunktion, auf die Kamera, den Browser sowie auf die Nachrichten. Und ich konnte auf die Apps-Seite zugreifen.

Desk

Setting

Ich habe dann die App Einstellungen aufgerufen und bin über den Punkt Über das Telefon zu der (hier oben rechts gezeigten) Einstellungsseite gelangt. Dort wurde mir Android 4.4 bestätigt – scheint also, dass ich jetzt mit KitKat auf dem Nexus 4 unterwegs bin. Ein Kurztest zeigte, dass WLAN, Kamera und Telefonie funktionieren. Bei Gelegenheit schaue ich, ob Miracast und die weiteren Funktionen auch noch tun und werde ggf. über die neuen KitKat-Funktionen sowie meine generellen Erfahrungen mit dem Nexus 4 berichten.

Fazit: Es hat geklappt – Operation gelungen, Patient (nicht) tot, Premiere erledigt und das erste Android-Smartphone von Hand geflasht. Der Text ist jetzt etwas lang geworden. Ich hoffe aber, dass die Infos vielleicht auch denen weiterhelfen, die nicht mit Android-Substrat in der Muttermilch groß gezogen wurden. In diesem Sinne: Viel Erfolg mit dem Nexus 4-Upgrade auf KitKat – das Wochenende ist ja da.

Noch ein paar Tipps als Nachträge: Gerade habe ich gesehen, dass jemand bei teltarif.de das KitKat-Update auf dem Nexus 7 (2012) ausprobiert und darüber geschrieben hat: Ausprobiert: Das Kitkat-Update auf dem Nexus 7 (2012) .

Bei Android-Hilfe.de findet sich die [FAQ] Nexus 4 – Stock Rom flashen manuell (ist aber schon von August 2013. Und ein wenige Nexus 4-KitKat-Troubleshooting und mehr findet ihr in der Nexus 4-Community bei Google+.

Links:
a1: KitKat auf's Nexus 7 oder Nexus 10 schrauben …
a2: Android 4.4 KitKat Factory Image Posted for the Google Nexus 4
a3: Bootloader-Unlock bei AndroidWiki


Anzeige

Dieser Beitrag wurde unter Android, SmartPhone abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

5 Antworten zu Aufgenordet: Mein Nexus 4 bekommt das KitKat-Upgrade!

  1. Peter sagt:

    Hallo Günter,

    also rest mal Hut ab vor diesem Tutorial!
    Ich stand beim N7 (2013) vor dem selben Problem. Wugfreshs Toolkit hat mich nicht wirklich weiter gebracht. Also bin ich den letztendlich einfachsten weg gegangen: OTA. Nur wie, wenns dir nicht OTA angeboten wird. Also back to the roots und clean Stock per Wugfreshs (hatte CM 10.2 M1 drauf) und danach die separierte OTA per ADB. Und siehe da: KitKat! Danach noch das update von Google Suche und den GEL installiert und: KitKat wie auf meinem N5! Hervorzuheben ist noch, daß der GEL auf dem N7 flüssiger läuft als auf dem N5?! Liegt wahrscheinlich an der neueren Build. N7 KRT16O, N5 KRT16M.

    Gruß Peter

    • Günter Born sagt:

      @Peter: Danke für die Rückmeldung – wenn ich wegen WugFreshs erst mal die Suche der alten Tante Google besuchen müsste ;-).

      Dafür bleibt mir aber keine Zeit. Einmal gab es einen DDOS-Angriff auf den Blog – wodurch die Erreichbarkeit gestern schwierig war. Zudem hat es den Anschein, dass das KitKat-Update die Miracast-Funktionalität gekillt hat. Momentan bekomme ich den Screen nicht auf den Miracast-Empfänger – bin aber noch am Testen. Falls ich mit irgend einem der Empfänger Glück habe, trage ich es hier nach. Stay tuned ….

      Nachträge: Bei android-hilfe.de gibt es diesen Sammelthread zu Bugs in KitKat. Und auch bei XDA-Developer.com gibt es einen Help Desk, mit allerlei Infos. Und für die Hardcore-Freaks gibt es hier die KitKat-Firmware als ZIP-Datei zum Flashen.

      Ist der Bootlader bereits entsperrt, kann man das Update auch ohne Datenverlust durchführen. Was man ändern muss, ist z.B. in diesem Beitrag adressiert.

      Einen Überblick über KitKat findet sich z.B. hier, wobei das Nexus 4 kein Google Experience Launcher (GEL) und Google Now mitbringt. Aber dazu hat @Peter ja was geschrieben.

  2. Stefan sagt:

    Ich bin bei dem Punkt angelang wo ich in Terminal folgenenden Befehl ausführen muss:
    fastboot flash bootloader bootloader-mako-makoz20i.img
    leider kommt hier diese Fehlermeldung:
    unknow partition "bootloader-mako-makoz20i.img"
    error: cannot determine image filename for "bootloader-mako-makoz20i.img

    Was heißt das?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.