Installing Android 2.2 Froyo on a HTC Desire

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)
HTC Desire
USB Cable
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
sudo ./reflash

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

You need the 5.x radio ROM
and the 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 (
Let this complete and then select install zip from sdcard again followed by choose zip from sdcard and select the Froyo ROM (
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.

56 thoughts on “Installing Android 2.2 Froyo on a HTC Desire

  1. I’ve added an extra bit at the bottom about setting up A2SD to allow apps to be installed on the SD card. Froyo with HTC Sense doesn’t leave you with much phone storage free and as I found out very few apps have yet been modified to work with Froyo’s feature to move apps to the SD card so it is still necessary if you have more than a handful of apps. I don’t know how those with un-rooted phones will manage.

  2. Thanks Nathan! Glad I came across your site… its the most lucid and “least intimidating” article on the topic. Just recently picked up a HTC Desire. Never thought I’d have to turn into a hacker to set the phone up just right… Thanks again!

  3. Hi Nathan.

    This looks really good. Unfortunately my HBOOT is still at 0.75 so I have a few questions.
    Should the same procedure on my HBOOT version?
    Will any data be erased by the rooting process?
    If neccesary to make it work, is there a non-destructive way of upgrading my HBOOT to 80?



  4. Hi Russ,

    Yes, unrevoked will work with HBOOT 0.75. The rooting process itself won’t erase any data, it is only when you install a new ROM that it will wipe anything but you can use Titanium Backup once you’ve done the root.


  5. Looks great just a bit scared 🙂 Just wanted to check it will work on a vodafone branded phone – with a hboot of 0.80 and rom.

    If so i will give it a try.

    Many thanks

  6. Thanx a lot for your help…was feeling lost just trying to root…but ur guide saved me hours of sufferings.

  7. hi,

    If I have and HTC hero phone will this guide and downloaded files work or is it phone model dependent?
    What I am asking is: do I need another ROM?


  8. Hi Nathan.

    I just can’t get this to update my phone. I have installed the same version of Ubuntu onto my laptop and can boot into it and download the reflash using the wget command.
    I can then neter the tar zxvf reflash.tar.gz command and the prompt returns in just a second. finally when I enter the sudo ./reflash command I get aseked for my password but after that nothing happens, the terminal just returns to the prompt and the phone deosn’t twitch.
    I have root and sudo group access within ubuntu. Would you have any clues please?
    Thanks for your help,

  9. Hi Russ, Very odd that you should get nothing at all. I’ve just tried booting the Ubuntu 10.04 live CD in a virtual machine just in case I had some prerequisite already installed but it works fine.

    You should get this in the terminal:
    unrEVOked recovery reflash tool
    git 7bb95e5

    followed by the unrevoked window:

    That’s without a phone plugged in too so it’s not as if it is failing because it can’t see it.

    Don’t know what to suggest, maybe try it from the live cd?

  10. Great guide Nathan, easy to follow and worked perfectly! Thanks!

    Just to confirm to Lawence T, I had a Vodafone branded version with that bootloader, I did make a goldcard from another guide but not sure if that was nessecary. Follow to the letter and you will be fine.

  11. I am very new to android and was doing lot googling around for upgrading my Desire 2.1 to Froyo. The terminology, concepts etc., was bit confusing and frustrating. Fortunately I stumbled on your site and read your excellent Guide and now I am confident I can upgrade to Froyo. Waiting for free download timing of my ISP and will download and upgrade. Thanks a ton.

  12. Great and easy to follow guide, still it hasnt worked for me …
    I did everything as described with my t-mobile (germany) branded desire and it seemed good until “should now reboot into Android 2.2 with HTC Sense”. Instead it showed the t-mobile splash circle (shouldn’t that be gone by now?) and then the new “ANDROID” splash screen. After half an hour with no further action i pulled the battery and restored everything back with nandroid (thx for that!)
    So, should I have waited longer? Try again? Try something else? Thank you!
    (yeah my english sucks 😉

  13. Hi Nathan.

    Success at last! I downloaded the LiveCD version of Ubuntu, rebooted from the CD and everything worked fine.
    I have successfully updated everything as per above but I have got a small issue.
    At first I couldn’t get the mobile browsing to work but after numerous attempts I have now got it showing as “3G” rather than the “H” I always had.
    As usual Vodafone were of no help and just seemed interested in where I got the update from (obviously I didn’t tell them).
    Anyway, I just wondered if it was a feature of this update that it didn’t show as “H” or if something else was going on.
    Any clues?
    Cheers once again.

  14. @joerg May be worth trying again, did you definitely do the “wipe data/factory reset” after installing the ROM? I didn’t do that the first time and got the same loop with the animated Android logo. Your English is very good by the way 🙂

    @Russg Interesting you should say that, thinking about it I can’t say I can recall seeing a H since the update either but I’m covered by wifi in a lot of the places I am regularly and in some pretty poor signal areas the rest of the time. Haven’t seen anything about there being a change that would affect it either. Will keep an eye on it.

  15. @Nathan: YES! That WAS the point i skipped. (Impatient you are, young Skywalker!) Right now Froyo is up & running! Only problem so far is: as Titanium is restoring my apps there is not enough space for them. So A2SD would have to be my next step. I convident I’ll handle that with your guide, too.
    Another thing: Titanium asked if I wanted to replace Market and Maps for they were system apps and I said no. I hope that was right.
    So again, cheers to you!

  16. Update: after the a2sd step and running titanium restore again everything seems to work just fine and I’m a happy little (wannabe) hackr.

  17. Followed instructions, used Ubuntu 10.04 on VMware workstation, and everything worked perfectly. Thank you very much.

  18. @Nathan Thanks a ton for the excellent guide which enables even newbies like me to successfully upgrade my Desire to Android 2.2
    Initially I had the same issues as Russg with Ubuntu. I downloaded unrEVOked3 windows version and things went real smooth. However, for the same reasons as our German friend Joerg I got “ANDROID” flash screen. Your reply “Wipe date/factory reset” took care of the issue. I want to thank Joerg for posting this issue.
    For Windows7 users I want to add:
    1. Uninstall “HTC Sync” and leave “HTC Driver Installer” alone which are present in your PC.
    2. Extract reflash_package downloaded from unrEVOked3 (Windows)
    3. Read “hboot driver” (.htm file) for detailed instructions to install hboot driver and link to get the driver.
    4. Install hboot driver (Android USB)
    5. Connect your phone to PC and click on “reflah” in your PC
    6. The rooting process starts and the status will be displayed on your PC (very smooth process)
    7. Your phone is rooted.
    Now follow Nathan’s guide with special attention to “Nandroid Backup” and “Wipe data/factory reset” steps to avoid frustration.
    With this kind of simple and accurate guide it is difficult to go wrong.

  19. @Nathan I have allotted 512MB for ext partition with ROM manager. You have quoted less that 1.5 GB is recommended. But the maximum size shown by ROM manager to choose is 512 MB. Is there a way to increase the size to 1.5 GB ?

  20. Hey guys,
    Firstly i’d like to say this is a superb tutorial “)
    Nd basically my problem is im a noob in this world ov hackin but i have a few questions,
    If i get this version of 2.2 can i get the official one later on,
    Secondly are there any things that dont work properly on it?
    It also sez u used ubunto, but can i use it on windows xp?
    How do i bring up terminal?
    im just abit scared because im on contract and i dont want to mess it up,
    Sorry for all those questions but please help me.
    Many Thanks.

  21. I finally plucked up the courage to do it….and it all worked great thanks so much!! A couple of tips for people.

    Firstly I would uninstall any apps that are not that important before running titanium backup. Froyo uses more internal harddrive space than 2.1 so it gets clogged up quick (had to redo the titanium restore as i ran out of space)

    Secondly…be very patient. When doing the apps2sd bit there is a section with about a 5min wait where it looks like its frozen – I nearly started weeping! 🙂

  22. Thanks for the fantastic guide, worked a treat. Only thing I noticed is that I no longer get a ‘H’ for signal strength as someone mentioned above. Hope that it’s just the icon that’s gone and the radio hasn’t actually reduced my signal strength.

  23. I’m glad this post has been so helpful to so many people and thanks for the comments.

    @mohan Hadn’t noticed that ROM manager only did upto 512MB for the ext3 partition as that is what I was selecting anyway. I know you can partition an SD card in Linux but don’t know how you can do it Windows unfortunately, doesn’t seem to be possible with the standard tools as far as I can see. Sorry can’t be of more help.

    @shahriar Haven’t come across anything that doesn’t work in the ROM I used but there are plenty of others available now HTC have done official realeases for the unlocked Desires. As regards Windows, Mohan above explains how to do that for Windows 7 and I think it will be pretty much the same for XP. If you are too concerned about messing things up my advice would be to wait until your carrier does an official update though.

    @Quentin Pretty sure it doesn’t make any difference and Joerg above had success with his Desire on T-Mobile in Germany but don’t take my word on it.

    @Stu83 I’ve been keeping an eye on this since Russg mentioned it above and I’ve not seen an H since but the data speeds I’ve been getting when in a good signal area indicate I am still getting HSDPA so I think it is probably only a visual difference with the indicator. Anyone else getting the same? I know my old iPhone didn’t distinguish between 3G and HSDPA with the icon so maybe they have changed it.

  24. Its the same with me – I am not getting H displayed but as far as I am concerned I am getting H speeds. I reckon it is the indicator.

  25. Hi Nathan.
    I’m now sure the H is only the indicator. I can hold down an Internet radio feed at work and previously if I only had 3G it used to buffer constantly. FYI though, colleagues at work that have got an official 2.2 update do have a H. One thing I did notice yesterday was that the new format News and Weather icon is missing from our build. I don’t know if there is any way of installing this manually? Still really happy with the install though, seems rock solid. Just a couple more questions for you. Can I repeat the Nandroid backup for the rom that I now have installed or will that overwrite my first backup and will you be releasing updates as they become available it was this a one-off? Thanks once again for all your efforts in maintaining this site. Russ.

  26. One of the scariest things I’ve ever done, but it worked!!! Thank you so much for taking the time to write these instructions.

  27. Hi,
    Great site by the way. Top work.
    I have recently bought the HTC Desire (unrooted) and I updated the official OS to Froyo 2.2 when it prompted for an update from HTC. I have realised now that apps to sd isn’t what I expected on HTC Froyo 2.2. Can I now use your rooting process to root my phone and use your Froyo 2.2 ROM that is on this site.
    Thanks heaps

  28. Thanks I finally rooted my desire wish i did not did before since i was afraid, so I did.

    1/ download ubuntu and burn the image to a cd

    2/run ubuntu from the cd and run terminal

    3/ones my desire was connected to pc with all the requirements ect paste command wget after 20 minutes

    4/ paste command tar zxvf reflash.tar.gz
    sudo ./reflash

    5/ waited and read the instruction that appear on the pc screen finally hit track pad and Voila rooted!

  29. So i had froyo working on my desire (great tutorial, really helpful). Wanted to then move apps2sd. followed your rom manager section to partition my sd. the phone rebooted and now i am on a screen with the android dude and an exclamation mark in a triangle above his head. help!!! pls advise as i am a noob.

  30. Hey Nathan! this guide looks very precise. However will this work on a htc desire on U.S. Cellular in the States? Or will this only work on phones on European networks?

  31. Sorry I’ve neglected the blog a bit lately, nothing has changed though, I’m still using the same ROM.

    Just to clarify, I had no hand in making the actual ROM, it was just a suitable one that I found on the XDA Developers forum at the time I did mine. I believe it was based on a version leaked prior to the official release so there may well be better options available now although I have had no issues with it and am still using it myself. From a quick check on the XDA forum it doesn’t look like the original ROM creator AdamG will be updating it and as has been noted by commenters above he has removed the original download, I’ve mirrored it here should anyone still want to use it.

    @Russg Don’t know about the news/weather icon, haven’t seen it personally. To manage multiple backups or ROMs the ClockworkMod ROM Manager should handle that for you.

    @Logan Not sure about that to be honest. The XDA forum would be the best place to check that I think.

  32. Ok, have huge problems… Rooted my desire loaded the radio and froyo 2.2 on my sd card, loaded the radio then flashed the froyo zip, loaded everything bu

    It when it rebooted to finish loading it goes to the HTC white screen and stays there. I have tried everything and think I bricked my phone. Any suggestions? HELP PLEASE!!!

  33. Hi Jeff,

    You should still be able to go into recovery (ie. turn on by holding power & volume) and either try again or go to Nandroid and restore the backup you did to put it back to the original ROM.

    I’ve not seen it hang on the white HTC screen but not doing a wipe data/factory reset after installing the Froyo ROM can cause it to get stuck in a boot loop showing the animated Android text logo on screen so make sure you do the wipe.


  34. Nathan,

    Rec’d Desire the other day, came rooted with Unrevoked and factory wipe of Alltel ROM Android v2.1.

    Was doing a lot of reading, wanting to upgrade to 2.2, but wasn’t sure of wanting to do it myself…

    So, not in desperation, but for stability sake, took phone to Alltel, and they gladly upgraded to Android 2.2 for me with a smile. They did not comment, or say anything regarding that the unit was rooted, or anything, because it had a branded Alltel ROM in place.

    Well, as is, when they upgraded for me, I believe I lost root.

    Wanting to know if I can somehow now root with Alltel ROM Android 2.2 in place.

    Here are the specifics of my unit as of now…

    Build 2.12.671.1
    Software # 2.12.671.1

    Vol – / Power on stats:

    HBOOT 1.06.0000

    Is this phone rootable?
    I was told by another source that since the store did the upgrade, and my boot screen says DVT, and not PVT, that I cannot root, and I will have to wait until an upgrade comes from Unrevoked, where they have mastered the rooting for v2.2

    If I am currently able to root, given the specifics above, can you point me in the right direction, or provide a guide.


  35. Do you know if the developers of Unrevoked have email contact info? Don’t see any on their site. I would like to forward my last comment to them, so that they could be aware of others’ specs, and give them something to work toward.

    Thank you,


  36. hi.. Nathan, I have a question by re-installing Android on my HTC Desire can i unlock SIM so i can use any SIM card or GSM Operator. Hope you will reply my question. I will wait. Rgards Shahid.

  37. Hi,
    Can I copy the the Froyo ROM into the SD card and install it without having a rooted device knowing that I can’t root my device because it stops at the splash screen for 1 sec then black screen (for 4secs) and it does it again (loop)so the only place I can access is the HBOOT (notice when i plug it into PC usb port it recognizes (USB PLUG) next to HBOOT.
    any one can help…do I have a dead device here???

  38. help! the links provided by you for download of roms show error

    Not Found

    The requested URL /bravo/radio/ was not found on this server.

    Apache Server at Port 80

    please refer me to any other link. require immediate help

  39. Independent film makers are proving the fact that the key studios will no longer are the only real judges of the things people prefer. When you additionally distribution on the web, news flash web sites, from rumor to complete videos. It’s a really totally new planet. Much of it beneficial, some not.

  40. hello guys i have some problem in htc desire v with wifi and bluetooh error issue..
    after root with official rom…

    hboot -1.30.00008

    that’s my device description….

    please help me….

Leave a Reply

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

Notify me of followup comments via e-mail. You can also subscribe without commenting.