After over 18 months as a very happy iPhone 3G user I decided it was time to make the switch to Android with the wonderful HTC Desire. As a long term Linux user Android would seem to be my natural place and with the Desire the hardware seems to have pretty much caught up with the Apple world so there was no excuse. Having this great new phone without running the latest and greatest release of Android seemed silly though and not wanting to wait for HTC and O2 to pull their fingers out and release an official update the only answer was to root it and install an unofficial ROM. I was pleasantly surprised how easy this was.
So here is a guide to how I installed Android 2.2 with HTC Sense on my HTC Desire using unrevoked3 and AdamG’s “Official” Froyo HTC Sense ROM (version 1.0c).
Obviously I take no responsibility if you follow this and anything goes wrong but it worked for me on my Desire with HBOOT 80. Rooting using the new unrevoked3 is a breeze and a Goldcard is NOT required and as long as you are careful to make a Nandroid backup of your original setup before flashing a replacement ROM then you can’t really go wrong.
Note that by doing this you will void any warranty you may have.
Linux PC (Ubuntu 10.04 in my case)
Titanium Backup from the Android Market
Unrevoked3 from here (16.1 MB)
Updated Radio ROM from here (11.3 MB)
Froyo Sense ROM from here (134.4 MB)
About 30 minutes
STEP 1: Rooting
First of all on the Desire go to:
Settings -> Connect to PC and set the default connection type to “Disk drive” and untick “Ask Me”
Settings -> Applications -> Development and tick “USB Debugging” and “stay awake when charging”
and finally in
Settings -> Applications tick “Unknown Sources”
Connect the Desire to your PC using the USB cable.
Open a terminal on the PC and do:
tar zxvf reflash.tar.gz
Wait a few minutes while unrevoked3 does its thing.
When it has finished the Desire should then reboot into recovery mode and unrevoked will say “Done!”, reboot the phone by clicking the trackpad.
That’s the root done. Yes, it’s that easy!
STEP 2: Backup existing apps & settings
Disconnect the Desire from your PC.
Download Titanium Backup from the Android Market.
Run it and dismiss the message saying it can’t get root privileges.
Click “Problems?” at the top and then “Yes, do it”.
Back everything up with Menu -> Batch -> Backup all user apps + system data
STEP 3: Install new Froyo ROM
Do NOT unzip these files, just copy them to the root of your MicroSD card.
Turn the Desire off.
Turn it back on by holding the power button and the volume down button.
Scroll to Recovery using the volume buttons and select it with the power button.
Scroll using the volume buttons and press the trackpad to select Nandroid and then backup. <- IMPORTANT! This gives you something to fall back on should it all go wrong.
After the backup process has finished select install zip from sdcard then choose zip from sdcard and select the radio ROM (32.42.00.32U_5.09.00.08.zip).
Let this complete and then select install zip from sdcard again followed by choose zip from sdcard and select the Froyo ROM (sensefroyo_v1.0c.zip)
When this has completed use the back button to go back to the first recovery screen and select wipe data/factory reset.
Reboot when the wipe/factory reset has completed.
Your Desire should now reboot into Android 2.2 with HTC Sense.
STEP 4: Restore your old apps & settings
Download Titanium Backup from the Android Market again
Run it and click “Problems?” at the top and then “Yes, do it”.
Restore your old apps and settings with Menu > Batch > Restore missing apps + all system data
STEP 5: Enjoy
Enjoy the speed improvements and extra features offered by Android 2.2 such as 720p HD video recording and being able to use your phone as a WiFi Hotspot.
Update 4/8/10: An optional step you may want to do, setting up A2SD
One thing I neglected to do initially was set up A2SD which is a hack to allow apps to be stored on the SD card. My thinking was that the new facility in Froyo to copy apps to the SD card would do the job, unfortunately the built in method requires that each app is coded to allow this and as I found out very few are at the moment. I soon ran out of space.
A2SD is already installed in the ROM I’ve used above. To get it working all you need to do is create an ext partition on your SD card, this is where your apps will be stored. Doing this will wipe your SD card so if you already have data on it back it up first, just connect your Desire to your PC and copy the contents of the SD card to a directory on your PC.
I used ROM Manager from the Android Market to partition the card. Select the option to partition and set swap size to 0 and choose the size of the ext partition you want, I chose 512Mb which seems plenty and I’ve seen it advised that you don’t use more than 1.5Gb as it can cause problems. The remaining space on your SD card can be used for data etc. just as before.
Reboot the phone and A2SD will automatically copy your existing apps to the SD card and any apps you install in future will be stored on the SD card. You can copy your original data back from your pc to the remaining space now as well.
Doing this has meant I’ve gone from under 15Mb free on the phone storage to 120Mb.