Simon Koelsch coding software, using gadgets

3Jul/10Off

Android 2.2 Froyo auf dem Vodafone Nexus One (EPF30)

Android Logo
Seit ein paar Tagen bin ich Besitzer eines Nexus One. Ein Grund warum ich mich gegen das HTC Desire entschieden habe ist unter anderem, dass ich bei einer neuen Android Version nicht Wochenlang warten möchte bis HTC seine Änderungen an der Firmware nachgezogen hat.
Android 2.2, Releasename Froyo, ist nun schon eine Weile verfügbar und bringt ein paar nette Features wie zum Beispiel Tethering mit.

Hat man sein Nexus One nicht direkt bei Google in den USA gekauft, sondern zum Beispiel bei Vodafone, bricht das Update auf Android 2.2 aufgrund einer falschen Prüfsumme schon vor der Installation ab. Hier heisst es dann eigentlich warten, bis Vodafone Android Froyo selbst verteilt.

Wer nicht warten möchte sondern trotzdem auf die aktuelle Version updaten will kann das tun, muss aber vorher seinen Bootloader entsperren und die aktuelle Firmware aufspielen. Ich habe hier in einer kleinen Anleitung zusammengefasst was ich Schritt für Schritt beim Update getan habe. Bei mir ist inzwischen die heute veröffentlichte Build Version Android 2.2 FRF91 installiert und ich kann über keinerlei Probleme klagen.

Ein Hinweis vorab: Wurde der Bootloader einmal entsperrt lässt er sich nichtmehr sperren. Beim Einschalten des Nexus One wird ab diesem Zeitpunkt unter dem Logo ein kleines geöffnetes Schloss angezeigt. Dabei erlischt die Garantie.

Vorbereitungen

Folgende Dateien werden während der Installation benötigt:

  • fastboot.zip (373 KB)
  • PASSIMG_Passion_Google_WWE_1.01.1700.1_ERD79_release_signed.zip (78 MB)
  • signed-passion-ERE27-from-ERD79.a487b405.zip (16 MB)
  • signed-passion-ota-42745.dc39ca1f.zip (82 MB)
  • signed-passion-FRF91-from-FRF85B.db99fdf1.zip (910 KB)

Da Google die Downloads inzwischen entfernt hat und ich nicht weiss, ob ich die Dateien überhaupt selbst hosten darf, werde ich diese hier nicht hochladen.
Allerdings findet man alle Files problemlos bei einer Google Suche.

Wer möchte kann hier auch die SHA1 Checksummen der gefunden Dateien prüfen:

e3798bf97777bf00d095913a96a55e3969518dd3
PASSIMG_Passion_Google_WWE_1.01.1700.1_ERD79_release_signed.zip

a487b405e4dd2ed94623fe3747c3db354dc1fc01
signed-passion-ERE27-from-ERD79.a487b405.zip

dc39ca1f5796c766bb5e7abf816f8b171562c792
signed-passion-ota-42745.dc39ca1f.zip

db99fdf11a5059c903b4cdef9c355b9df5251db0
signed-passion-FRF91-from-FRF85B.db99fdf1.zip

Vor den hier beschriebenen Schritten sollte man USB-Debugging für das Nexus One einschalten. Die entsprechende Option findet sich unter Einstellungen -> Anwendungen -> Entwicklung -> USB-Debugging. Eine Sicherung der vorhanden Daten sollte selbstverständlich sein.

Noch ein Wort zur Navigation:
Im Bootloader navigiert man mit den Lautstärketasten an der linken Geräteseite. Mit der Power-Taste wird die ausgewählte Menüoption bestätigt.
Im Recovery Programm kann der Trackball benutzt werden.

Bootloader entsperren

  1. Nexus One abschalten.
  2. Trackball drücken und Gerät wieder einschalten um in den Bootloader zu gelangen.
  3. fastboot.zip entpacken und je nach Betriebssystem das entsprechende Script mit folgenden Parametern ausführen:
    ./fastboot-linux oem unlock
    Hinweis von Carsten aus den Kommentaren: Unter Linux muss Fastboot eventuell mit Rootrechten ausgeführt werden.

Auf dem Nexus One erscheint jetzt eine Abfrage ob der Bootloader wirklich entsperrt werden soll. Diese Abfrage einfach bestätigen.

Downgrade auf Firmware ERD79

  1. PASSIMG_Passion_Google_WWE_1.01.1700.1_ERD79_release_signed.zip im gleichen Verzeichniss wie fastboot entpacken.
  2. Auch hier wieder Nexus One abschalten.
  3. Trackball drücken und Gerät wieder einschalten um in den Bootloader zu gelangen.
  4. /fastboot-linux devices
    sollte das mit dem USB-Kabel verbundene Gerät anzeigen.
  5. Danach folgende Befehle ausführen:

    ./fastboot-linux erase cache
    ./fastboot-linux flash userdata userdata.img
    ./fastboot-linux flash boot boot.img
    ./fastboot-linux flash system system.img
    ./fastboot-linux flash recovery recovery.img
    ./fastboot-linux reboot

Bei mir waren dann folgende Ausgaben auf dem Bildschirm zu sehen:

sending 'userdata' (2 KB)... OKAY
writing 'userdata'... OKAY
[echox@kaffeesatz:~/android/froyo/fastboot] % ./fastboot-linux flash boot boot.img
sending 'boot' (2044 KB)... OKAY
writing 'boot'... OKAY
[echox@kaffeesatz:~/android/froyo/fastboot] % ./fastboot-linux flash system system.img
sending 'system' (116663 KB)... OKAY
writing 'system'... OKAY
[echox@kaffeesatz:~/android/froyo/fastboot] % ./fastboot-linux flash recovery recovery.img
sending 'recovery' (2294 KB)... OKAY
writing 'recovery'... OKAY
[echox@kaffeesatz:~/android/froyo/fastboot] % ./fastboot-linux reboot
rebooting...

Nach einer kurzen Wartezeit ist die neue Firmware dann aufgespielt.
Von hier können wir jetzt einfach bis auf Android 2.2 FRF91 Updaten.

Update auf ERE27, FRF85B (Froyo) und FRF91 (Froyo)

  1. Nexus One über USB-Kabel mit dem Rechner verbinden.
  2. signed-passion-ERE27-from-ERD79.a487b405.zip in update.zip umbenennen und auf die SD-Karte des Androids speichern.
  3. Nexus One abschalten, Trackball drücken, Gerät wieder einschalten um in den Bootloader zu gelangen.
  4. Im Bootloader sollte ausgewählt sein, mit der Power-Taste dann bestätigen.
  5. Recovery auswählen und wieder mit der Powertaste bestätigen.
    Wenn ein Ausrufezeichen und ein kleines Android Logo zu sehen ist, die Power-Taste drücken und dann dazu die Volume-Up-Taste.

    Die Meldung "E:Can't open /cache/recovery/command" kann dabei getrost ignoriert werden.

  6. Hier mit dem Trackball "Apply sdcard:update.zip" auswählen und einfach mit dem Trackball bestätigen.

Danach erfolgt die Installation und nach einem Neustart ist die Firmware ERE27 installiert.

Diese Schritte müssen als nächstes einfach für die Datei "signed-passion-ota-42745.dc39ca1f.zip" und anschliessend für "signed-passion-FRF91-from-FRF85B.db99fdf1.zip" wiederholt werden.

Danach ist die aktuelle Android 2.2 Version auf dem Nexus One installiert.

Ich habe dafür mit dem Suchen der Files knapp 20 Minuten gebraucht.

Update: Wer eine Anleitung für Android 2.2 "Froyo" auf dem Desire sucht, wird bei Fabian fündig.

Update 2:Stephan hat in den Kommentaren noch ein paar Hinweise zur Benutzung von Windows 7 gegeben:

Vorab musste ich die Datei "AdbWinApi.dll", sowie die "AdbWinUsbApi.dll" in den entpackten fastboot-Ordner kopieren - ansonsten kam die Fehlermeldung, dass die AdbWinApi.dll fehle.
Außerdem musste ich - da ich Win7 nutze - die Eingabeaufforderung als Admininstrator ausführen, um den Bootloader erfolgreich zu entsperren und das Downgrade auf ERD79 anzustossen zu können.

Kommentare (17) Trackbacks (4)
  1. Großartig, nach stundenlangem rumbasteln, hab ich hier endlich gefunden, wie ich updaten kann. Vielen Dank!

  2. Ach Simon – das du dich in die Hände von Google gibts, hätte ich nie gedacht…WLAN-Tethering bekommst du auch mitttels Root-Zugriff und ner CustomFirmware. Das einzige dabei ist, dass dein Handy glüht und man Spiegeleier drauf braten kann…

    • Naja in die Haende von Google ist so ne Sache ;-)
      Btw. braucht man ja nichtmal nen Google Account ;-)

      Tethering ist ja nicht das einzige Feature von Android 2.2

  3. hallo,
    dank dir für die prächtige anleitung, habe seit gestern das nexus one und nun gleich mit 2.2 :-)
    schönes wochenende
    gruß
    alexander

  4. Danke für die Anleitung! Hat super funktioniert. :)

  5. hallo,

    sag mal hast du auch eine idee, bzw. anleitung, wie man apps auf der sd installiert?
    ich habe nämlich nicht mehr viel frei auf dem nexus.
    falls du ein paar fotos für deine anleitung sucht -> http://bit.ly/cqAJjr

    gruß
    alexander

    • Hallo,

      in den Anwendungseinstellungen siehst du wo die Apps installiert sind.
      Wenn du dann die Details einer App oeffnest, kannst du da “Auf SD-Karte verschieben” auswaehlen.

      Ob eine App auf der SD-Karte installiert werden kann oder nicht muss allerdings der Entwickler anhand eines Attributes im Manifest-File der Anwendung selbst festlegen.

      Bei mir laesst sich Momentan nur Google Sky Map auf der Karte installieren.

      Wenn du dein Telefon allerdings rootest, hast du auch die Moeglichkeit Apps2SD zu benutzen: http://wiki.cyanogenmod.com/index.php/Apps2SD

      Ich denke, dass jetzt nach und nach die Entwickler das Attribut im Manifestfile nachziehen werden.

  6. Hey Simon,

    viel vielen Dank, das reicht ja erstmal so. Meinst Du die Entwickler werden, dass ganze dann in einem Update für die jeweiligen Apps lösen?
    Auch das Google Sky Map ist ja der Hammer, danke.

    Vielleicht machst noch ne Liste, beste Apps fürs Nexus :-)

  7. Hallo!
    Vielen Dank für diese sehr gute und ausführliche Beschreibung.
    Hat alles bestens geklappt, auch wenn ich eine gute Stunde gebraucht habe, bis alles so weit war…
    Danke!

  8. Hey, dank dir! Ich hab gerade nach Deiner Anleitung mein N1 auf Froyo aktualisiert. Eine kleine Anmerkung hab ich für alle, die mit Ubuntu 10.04 unterwegs sind: Fastboot muss als Root ausgeführt werden. Hat mich etwas Zeit gekostet, bis ich es einfach mal ausprobiert habe… ;-)

    • Hallo Carsten, danke fuer deinen Hinweis, hab das im Artikel aktualisiert.
      Hatte garnicht daran gedacht dass zu erwaehnen :-)

  9. Kann man auch das over the air Update anstossen anstatt alle ROMs per Hand zu flashen.
    Robert

    • Hallo Robert,
      das haengt natuerlich davon ab, was dein Provider fuer Updates pusht und was er fuer eine Version auf deinem Geraet erwartet.
      Wuerde mich wundern wenn das einfach so funktionieren wuerde.
      Per Hand bist du definitv schneller…

  10. Danke für die detaillierte Anleitung, Simon!

    Noch ein paar Hinweise, hinsichtlich ein paar kleiner Probleme, mit denen ich mich konfrontiert sah:

    Vorab musste ich die Datei “AdbWinApi.dll”, sowie die “AdbWinUsbApi.dll” in den entpackten fastboot-Ordner kopieren – ansonsten kam die Fehlermeldung, dass die AdbWinApi.dll fehle.

    Außerdem musste ich – da ich Win7 nutze – die Eingabeaufforderung als Admininstrator ausführen, um den Bootloader erfolgreich zu entsperren und das Downgrade auf ERD79 anzustossen zu können.

  11. Bei mir steht nachdem ich “./fastboot-linux oem unlock” nurnoch wait for device ? Wieso nur ? …hm

  12. Habs nun herrausgefunden. wenn das dort steht:
    1. entweder kein “sudo” sprich root rechte verteilt
    2. oder einfach rausstecken und befehl wiederholen so das dort wieder steht “” erst dann wieder den stecker reinstecken.

    lg Kai