Going from a modified state on a Nexus One, back to stock, and then to Froyo FRF91

I originally wrote this guide to revert my modified N1 back to stock configuration. The reason I wanted to go back to stock is I wanted to install Froyo before there was a binary available from any dev such as Cyanogen. This guide could also be used if you want to sell your N1 or need to send your N1 back to HTC for select warranty work. It took me several attempts and lots of Googling before I found a way to produce easily repeatable results.

After lots of tinkering and many errors I finally found my problem was related to trying update to Froyo from a rooted and modified image. I had a rooted version of Froyo FRF50 and Amon’s custom recovery image flashed on the phone, later I found out both will cause errors when trying to flash an image straight from Google (duh type of hindsight).

Here is an example of one of the errors I received when trying to flash from Amon’s recovery image:

--Installing new image!
--Press trackball to confirm, or
--any other key to abort
--Install from sdcard...
Finding update package...
opening update package...
verifying update package...
E:No signature (411 files)
E:Verification failed
installation aborted.

This guide was written with the assumption that you purchased a random Nexus One on ebay and have no idea if the N1 is rooted or if it’s the system files have been modified in anyway. Or you just don’t know what the hell you are doing. This guide can be used from any starting point on your Nexus One; in terms of what is currently flashed on it.

Over the previous version (FRF50) of Froyo I was running this version has a much more responsive camera (as in the refresh rate seems higher), the gallery is much quicker as well, and my data speeds on this radio version are wicked fast (fastest to date on any of the speed test I’ve run; also worth noting the bands seem much more sure of themselves before just switching around and guessing which is the best to use.) Also Adobe Flash is… well it’s there but not necessarily working well.

Requirements

Software Needed:
Android SDK tools with fastboot binary
terminal
unzip – a binary version runnable from CLI (The GUI versions of the unzipper improperly unzip on OSX)

Google Binaries Needed:
Stock ERD79 full image
    22607-ERD79-update-nexusone-stock-images (mirror)
    md5: bef86698cafc88ca03fff5758571d9d6
ERE27 from ERD79 image from Google
    signed-passion-ERE27-from-ERD79.a487b405.zip (mirror)
    md5: 8b0d8390ae2fc680390a3662dcce89c3
FRF91 from ERE27 image from Google
    signed-passion-FRF91-from-ERE27.e410116a.zip (mirror)
    md5: 260520315add0ab8ac027b4014a79c1c

OS:
Linux or Mac OSX (Sorry Windows users, it will be the same concept. I just haven’t ran Windows since XP’s SP2 release)

Hardware Needed:
Nexus One
Micro USB Cable
Charged Battery

Skill Needed:
Some basic working knowledge of phone flashing
Comfortable running from CLI

WARNING You DO have the possibility of rendering your hardware useless by various means of deviating from this guide and even following it. Flashing the radio image is especially detrimental if flashed with a bad image or interrupted during it’s flash. Always flash with a full battery. Always flash with CRC/MD5/SHA checksum the files. There is risk involved so beware of that fact.

Backup:

Nandroid backup
So you can return to your current state. I suggest using Amon’s recovery image.

Backing-up the Call Log and Text Message threads
Really this is the only important piece of data that isn’t saved on the SD card in my opinion. There are two applications that backup and restore these data sets. The Backup Call Log by Kazuyuki Eguchi is here. And the SMS Backup & Restore by Ritesh Sahu is here. These applications are pretty self explanatory and I’m not going to hold your hand on how to use them.

Flashing

You want to have downloaded the SDK and uncompressed it. For simplicity purposes I have the SDK folder in the root folder (of this guide). Also you’ll want to have the fastboot binary uncompressed to the ./tools folder of the SDK.

Flashing to stock (ERD79 in this case; which is the original shipped rom)
This step is the most difficult but will put your N1 back to stock shipped state minus the unlocked bootloader which there is no way to revert to date.

Open a terminal and change to the tools directory of the Android SDK:

cd /android-sdk-mac_86/tools

Unzip the stock ERD79 image by issuing the command:

unzip 22607-ERD79-update-nexusone-stock-images.zip -d erd79/

Output of unzipping files:

  inflating: erd79/android-info.txt  
  inflating: erd79/boot.img          
  inflating: erd79/hboot_8x50_0.33.0012_091210.nb0  
  inflating: erd79/microp_Passion_Passion#C_LED_V0B15_88V_20091203.img  
  inflating: erd79/Radio_1202_2_20091214_Signed_PASSION.img  
  inflating: erd79/recovery.img      
  inflating: erd79/spcustom.img      
  inflating: erd79/splash1.img       
  inflating: erd79/system.img        
  inflating: erd79/userdata.img   

These files are unzipped to erd79 directory. Next you will need to clear the caches. Issue the following commands:

fastboot erase userdata
fastboot erase cache

If you get any errors for the erase commands just ignore them. It should be fine. This is the same as doing a factory data reset on the phone by accessing the menu options: Settings > Privacy Settings > Factory Data Reset.

This will actually revert all the system files and such back to the stock setup:

fastboot flash userdata erd79/userdata.img
fastboot flash system erd79/system.img
fastboot flash boot erd79/boot.img
fastboot flash recovery erd79/recovery.img
fastboot flash radio erd79/Radio_1202_2_20091214_Signed_PASSION.img

At this point you have a stock shipped N1 minus the unlocked bootloader which is as said before unable one thing that is unable to revert.

At this point you can continue to follow this guide if you don’t have an internet connection. Or if you turn on the phone and connect to a WiFi or Data connection and let your phone idle for about 8 minutes (depending on your internet connection). The phone will phone-home and prompt you install the latest publicly available build. You can also go to Settings > About > System Update for the status of the download for the latest build.

Flashing to ERE27

  • While booted into the Android OS connect the N1 to your computer via USB.
  • Enable the USB Storage on the phone.
  • Move the file signed-passion-ERE27-from-ERD79.a487b405.zip to your root directory of your phone.
  • Rename signed-passion-ERE27-from-ERD79.a487b405.zip to update.zip
  • Shutdown the phone.
  • While holding down the trackball, press the power button for a moment. This loads you into the fastboot basic OS.
  • Select “BOOTLOADER” and hit the power button
  • Wait a few seconds on this screen, it seems to take about 6 seconds for the menu system to start responding.
  • Then select “Recovery”
  • After a minute an Android robot with an exclamation point inside a triangle is displayed.
  • Simultaneous press the power button and volume up hardware keys.
  • Now use the trackball to select “Apple sdcard:update.zip” and about 4 minutes later you should be booting into ERE27.

Finally Flashing to Froyo (FRF91)

  • While booted into the Android OS connect the N1 to your computer via USB.
  • Enable the USB Storage on the phone.
  • Move the file signed-passion-FRF91-from-ERE27.e410116a.zip to your root directory of your phone.
  • Rename signed-passion-FRF91-from-ERE27.e410116a.zip to update.zip
  • Shutdown the phone.
  • While holding down the trackball, press the power button for a moment. This loads you into the fastboot basic OS.
  • Select “BOOTLOADER” and hit the power button
  • Wait a few seconds on this screen, it seems to take about 6 seconds for the menu system to start responding.
  • Then select “Recovery”
  • After a minute an Android robot with an exclamation point inside a triangle is displayed.
  • Simultaneous press the power button and volume up hardware keys.
  • Now use the trackball to select “Apple sdcard:update.zip” and about 4 minutes later you should be booting into Froyo.

Rooting

You’ll want to install a Amon’s RA Recovery image or Clockworkmods Recovery image and then this rooting zip if you want to root:
[ROOT] [KERNEL] [2.6.34] Quick rooter for stock FroYo systems + 2.6.34 kernel – XDA Developers

Helpful links and Credits:

[ROM] Original Shipping – Tutorial – XDA Developer
10/May Stock ROMs – ERD79 -> EPF21B images / zip / online kitchen (optional root / insecure / himem) – Modaco
How to manually update Nexus One with Android 2.2 FroYo (ERE27 to FRF50) – Bongizmo.com
The comprehensive list of update.zip links – Google Support Forum

This entry was posted in Android, Technology and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *