Google Ion Rooting Guide

Having just gone through the process from start to finish on a second phone, I thought I’d write a guide on exactly what is needed to root the Ion. Note that this is a guide specifically for the Ion, and does not apply to any other Magic / Sapphire / G2 / whatever that is not a Google Ion phone from I/O 2009.

Before you start!
I wrote a list of some common pitfalls at the veeeery bottom of this post.
If/when you get stuck, take a look there for help!

Preparation

1. Navigate to Menu->Settings->Wireless Controls->Mobile networks->Access Point Names.
Write down the APN information your phone is currently using.
2. Set up the Android Debug Bridge (ADB) and SDK as per my instructions on setting up an
Android development environment. (You can skip the eclipse stuff)
3. Download fastboot, unzip it into your android-sdk-whatever-version/tools folder.
4. Turn off your phone,
open up a terminal on your computer and navigate to your android-sdk-whatever/tools folder.
5. Hold down the back button, and press the end call button to power up the phone.
(Some people report needing to press volume-down instead of back).
6. Connect the device to your computer via USB, type: fastboot boot recovery-RAv1.1.1G.img
7. Perform a Nandroid backup - this will allow a restore of your phone should you do something wrong.
(If you get an errors at this time, free up more space on your SD card).
8. Do not reboot yet, we have more to do here!

Installing the Rooted Operating System
I prefer to permanently install the recovery image, so we can boot to it directly
(skipping the fastboot stuff we did above), but this (steps 1 through 3) is optional.

1. Download the proper recovery from this xda-dev post,
it links to rapidshare, so this link to recovery-RAv1.1.1G.img will probably be broken before anybody can use it.
2. Type the following into your terminal on your computer:
adb shell mount -a
(Ignore the failed mount error messages)
adb push recovery-RAv1.1.1G.img /system/recovery.img
adb push recovery-RAv1.1.1G.img /sdcard/recovery-RAv1.1.1G.img
adb shell flash_image recovery /sdcard/recovery-RAv1.1.1G.img
3. You can now reboot, though I'm not sure if you need to.
(You can reach this screen again by holding Home + End Call to boot up the phone.)
4. Go to xda-dev again to get the proper SPL. I used Engineering SPL HBOOT-1.33.2004 on the two Ions I did.
I'm not sure if this is an older version than what is packaged on the phones already, but it did work, so I did it both times.
(This may not be necessary, I'm not 100% clear on whether this is a special hacked SPL).
5. Click the wipe data/factory reset option.
6. Type the following into your computer's terminal:
adb push update.Engineering-SPL-HBOOT-1.33.2004-signed.zip /sdcard/update.zip
7. Use the trackball on the phone to click on the "apply sdcard:update.zip" option, let it do its thing.
8. Download the version of the operating system you want to install; I got mine from this xda thread.
It is designed for the Ion's 32B board, comes with the superuser whitelist, and the sensors work!
I installed the LITE version 4.0 and the patch for the lite version, instructions for that are below.
(Modify them to your phone version)
9. Type this into the terminal:
adb push nk02ion_r4_LITE-signed.zip /sdcard/update.zip
10. Click apply update on the phone again.
11. Type this into the terminal:
adb push PatchIon4lite.zip /sdcard/update.zip
12. Click apply update on the phone one more time.
13. Reboot the phone (you usually have to do this twice because it boots up and applies another update,
keep going until it boots up fully!).


Some common pitfalls that you may run into:

“permission denied” errors from fastboot; these are (usually) caused by not having the permissions on your fastboot binary folder (in linux environments) set to executable. Make sure you chmod the file so that you can actually execute it as a command.

You may also have problems performing the adb push commands. These are usually due to issues with the ADB server detecting your usb connection. I posted a few tips and a link here.

If at any point in the process of updating the OS on your Android, you get stuck at the silver flashing “Android” text screen, don’t panic!!! You have not bricked your phone! Chances are this occurred because you installed the wrong version of the SPL or the build image. If this should occur, make sure that you are installing things for the 32B board and specifically the Ion phone. If you are using my guide to perform these installations on a different phone, you need to find out if you have the 32A board or the 32B board first, and then determine which phone specifically you have. (Note that it IS possible to brick your phone by installing the wrong SPL onto the wrong board, but only in some cases. XDA-Dev has pretty good documentation on this).