After having spent a week using a stock, unmodified Nexus One I have to admit it is the closest thing to a perfect phone that I’ve ever used. It’s fast, it’s got more storage space than I could fill up (even trying to). It allowed me to do everything that I needed to, but there were a few things that I wanted to do that required unlocking and rooting the phone.
Here’s how I did it, but be forewarned, following these steps will erase all data from your phone and will void your warranty, and, if you do them wrong or with compromised files may cause irreparable damage to your phone. You have been warned.
1. Unlock the Bootloader
Download and install the Android SDK.
Download and extract fastboot into the Tools folder of the Android SDK that you download in the previous step.
Open a command prompt and navigate to the directory where you extracted fastboot in the previous step.
Power down the phone, plug in to the computer, reboot into bootloader mode by pressing the power button and the scroll ball.
Windows should attempt to load a driver for the device (which is different from the driver used to connect to the os booted device). You will not be able to proceed if the driver fails to load until you resolve the driver issue.
Type “fastboot-windows oem unlock” or “./fastboot-mac oem unlock” or “./fastboot-linux oem unlock” (depending on your operating system).
A menu will appear and ask you if you want to unlock the bootloader. Read the warning, then use the volume up/down button to select your choice (yes or no) then press the power button to confirm your choice. NOTE: this will erase all data on your phone. And in case you didn’t read that, I’ll say it again: by selecting YES all your data will be erased, gone, no longer there; and your warranty will be voif. Enough said?
2. Get root access
Root is a level of privileges that allows complete access to the operating system. It is analogous to Administrator in a Windows environment. To flash custom ROMs and various other “low-level” tasks you need root access.
Download the boot.img file that corresponds with ROM Build number of your phone (found in Settings, About phone, Build number) from here.
Reboot your phone into bootloader mode.
Open a command prompt and navigate to the folder where you downloaded the boot.img, then run “install-superboot-windows.bat” (or the corresponding Mac/Linux script). If no error messages are displayed, reboot your phone. You should now have root access.
To test this, open the Market and download a Terminal emulator app. Launch the app and type su then press enter. If you are able to “Allow” access, your phone has been successfully rooted.
3. Flash a custom recovery ROM
A recovery ROM is a small utility that you can boot into which allows you to do certain “recovery” activities (such as backup, restore, flashing a Custom ROM, etc.).
The Recovery ROM that I personally recommend is RA-nexus-v1.7.0.
Since we’ve used the fastboot method to install the prior few steps, we’ll continue using that method, but please note there are a few other methods which accomplish the same thing.
Copy the recovery image to your Android SDK Tools folder (which we used previously) and reboot your phone into fastboot mode. Type “fastboot devices” to make sure that fastboot “sees” your phone. If it does, type “fastboot flash recovery (image-filename-here)” then press enter. The recovery image will be “sent” and “written” with “OKAY” messages following each successful step.
4. Boot into Recovery mode
Boot the phone while holding down the VOLUMEDOWN-key.
Navigate to RECOVERY with the the VOLUMEDOWN-key and press the POWER-key to select.
You should now be in Android system recovery and the Build number of the recovery ROM should be noted at the bottom of the screen.
You can use the scroll ball to choose and select choices in the menu. Choose then select Reboot system now. You phone should reboot back into the Android OS.
5. Update your Radio
Download the 20100203_2 (EPE54B) radio and copy the.img file to your Android SDK Tools folder. Type “fastboot flash radio Radio_20100203_2_Signed_PASSION.img” then reboot into recovery mode.
Once in recovery mode, scroll down to “Wipe” and press the scrollball, select the first open and press the scrollball, press the scrollball again to confirm, then repeat for all items on the Wipe page.
In the future, wiping this thoroughly won’t likely be needed, but this time, you’ll want to wipe really well.
Press the Down-volume button to return to the prior menu.
7. Install the Custom ROM
For this example we’ll be flashing CyanogenMod for Nexus One V18.104.22.168, which is the latest stable ROM from Cyanogen for the Nexus One as of 03/23/2010.
Use the scrollball to choose then select USB-MS toggle. This will change the phone to mass-storage mode and allow you to copy the custom ROM image to the root of the SD card. Copy the .zip file (do not extract it) to the root of your SD card then press the scrollball to exit USB-MS mode.
Use the scrollball to choose and select Flash zip from sdcard. The .zip that you copied in the prior step should be selected, but if it’s not, choose it with the scrollwheel then press the scrollwheel, press the scrollwheel again to confirm.
The updater should “find”, “open”, “verify”, and “install” the Custom ROM, all automatically. When it’s done the Android system recovery menu should display again, and the words “Install from sdcard complete” should be displayed at the bottom of the page.
8. Install the Google Apps Add-on
Because Cyanogen is not authorized to redistribute the Google Apps which come with the stock Nexus One, your phone won’t have these very useful apps installed by default. To install them first download the Google Apps add-on and copy it to the root of your sd card using the same procedure we used to copy and install the Custom ROM file. In step seven.
Reboot the phone using the “Reboot system now” menu item. The first time your phone boots after installing a custom ROM will take significantly longer than what you’re used to. This is normal.
During this first boot, you’ll know you’ve done everything right because the Nexus One “X” animation will be “Cyanogen blue” instead of the multi-colored version you’re familiar with.
Set everything up the way you want it, download and install CM Updater from the Market (which will make getting updates easier), then reboot into recovery mode and make a backup.
9. You’re Done
When you reboot your phone from now on you’ll see an “unlocked” symbol at the bottom of the initial bootscreen. This is your badge of honor… you’ve now successfully entered the realm of the uber geeks. How does it feel?