If you have been following my blog you know that I recently got a Droid Incredible and even more recently upgraded it to Android 2.2 (Froyo). This upgrade has been both bitter and sweet for me. I have enjoyed some of the new functionality provided by the OS, but I have been frustrated by some of the extra apps that Verizon built into their distribution. So I decided to take some action and find a way to get rid of those parts I did not like.
So my first hurdle is figuring out how to root the phone. I frequently visited the XDA-Developers website were they have a great resources for hacking all kinds of Android phones. On that site they frequently made mention of two programs that made rooting the Droid Incredible very easy. These programs are unrevoked3 and unrevoked forever. Unrevoked3 is responsible for getting root access to the phone, and unrevoked forever is what you use to make sure you don’t loose it if the OS is upgraded.
So now that I had the tools I needed to actually do the job. My first problem is that unrevoked 3.1 only works on Android 2.1 and earlier, and I had already upgraded my phone to 2.2. So I had to figure out a solution. That is when I ran across this post on how to downgrade 2.2 to 2.1. Normally I don’t like to do risky things with my phone because I don’t want to break it, but several others in the forum had already tried it and they had great success. So I gave it a go. Here is what I did (copied from aforementioned forum, with a few changes):
- Download the Android SDK here
- Extract the Android SDK zip. Move the contents of the extracted zip to C:\
Your Android tools folder path should now be C:\android-sdk-windows\tools
- Download HTC Sync 2.0.40 (came loaded on my phones internal memory)
Run the installer. Move on once installed. If reboot is required, do so and then move on.
- Uninstall HTC Sync (I actually forget this part and it caused me problems later on when running unrevoked), not the HTC drivers.
Go to your start menu, then control panel. When that is open, (if you are in category view mode) click on “Uninstall a program” and then choose HTC Sync to uninstall. If you are in Icon view mode choose “Programs and Features” and then click on HTC Sync to uninstall. This will load the proper drivers needed for unrevoked3.
- Download revert.zip and evo-root.zip
They contain a few files necessary to root the Droid Incredible. Unzip the contents of the zip to your android SDK tools folder.
- Also download the original 2.1 PB31IMG.zip file.
Extract the PB31IMG.zip and put this zip in your SDK tools folder as well, as a zip, not extracted.
- Make sure USB Debugging is ON (checked) on your Droid Incredible. Go to Settings > Applications > Development > and make sure it is checked.
- Plug your phone into the computer via USB, Make sure that the connection type in the Notification Pull-Down Bar is “Charge Only”, not “Disk Drive” or else this won’t work.
If your computer asks you to restart after the new drivers were installed, do that now.
- Open up a command prompt from your C:\android-sdk-windows\tools folder.
Open up the android SDK folder and hold shift and right click on the tools folder. You will see an option that says “Open command window here” Choose that one and you will be set. the command prompt should read something like C:\android-sdk-windows\tools>
Once ready, type these commands in command prompt from your adb tools directory. After every line press enter.
adb push unrevoked-forever.zip /sdcard/
adb push flash_image /data/local/
adb push rageagainstthecage-arm5.bin /data/local/tmp/
adb push mtd0.img /sdcard/
adb push PB31IMG.zip /sdcard/
Note: the PB31IMG.zip will take longer than expected to transfer to the sdcard. It is a BIG file.
- Now we chmod a few things. After every line press enter. It should repeat what you typed in and then return you to a blank line with an $ for everything in adb shell
chmod 0755 /data/local/tmp/rageagainstthecage-arm5.bin
chmod 0755 /data/local/flash_image
- Ok now for the root shell.
(still in adb shell)
You will now see some text on your cmd prompt screen explaining the exploit.
- Wait for the adb shell to go away, and it will dump you into your windows command prompt again (no shell) should look something like this:
Once that dumps you out of the shell, type
and you will see you now have a
instead of a
- now type
./flash_image misc /sdcard/mtd0.img
that will flash your misc partition with Toast’s mtd-eng.img.
This should return you to a blank line with #.
If you get an “Out of memory error” with a huge list of weird lines, here’s how to fix it.
Reboot your phone normally.
Open a command prompt and go back to step 11 and start from there.
- Once it is flashed correctly, move on:
Remember how you pushed that huge PB31IMG.zip to your sdcard earlier? This is where that comes in handy. Once you booted into hboot, Select “bootloader” with your volume up/down buttons and hit the power button. Let it sit for a little bit while it loads the PB31IMG.zip. This can take up to 5 minutes. When it finally asks if you want to apply this zip, choose YES. (Remember, this is the same as running an RUU, so it will delete all of your user data).
Once it is finished, select restart. You now are on the stock 2.1 build of Android.
Whew that was a lot of work, but if done correctly you should have a working phone running Android 2.1. From this point it is very simple to run unrevoked 3.1 and unrevoked forever and get root and keep it.
Once that is done you can boot into recovery and mount the system folder and remove all the garbage apps that Verizon preinstalled. At this point you could also install any number of other apps, or even a new custom ROM.
At first I read about custom ROMs and all the problems that they had and I stayed away from them. I want my phone to be stable and I don’t want to play around with someone else’s experiment. That is until I found out about the Virtuous ROM. This ROM is different because it is based on the Stable 2.2 release and has not added a bunch of weird experimental stuff. Instead this ROM gives us more freedom by moving almost all the apps from /system/app/ to /data/app/, which makes them uninstallable and for those apps that cannot be moved, there is an EZ Customizer that will remove them if you want. The EZ Customizer also allows for removing some of the taskbar icons, like the clock, location, battery, etc.
So at the end of this process I have settled on running a rooted phone with the Virtuous ROM. I am convinced that this is the way to go to get the most out of your phone and have the most freedom.
Update 9/7/2010: Apparently unrevoked 3 has been updated and it now support Android 2.2. Unfortunately, going to the unrevoked website shows that it has been taken offline because of a bug. Hopefully, it will be fixed and put back online. Until then you can still use an older version and the steps above to root your phone.