HTC Desire and Android 2.2/Froyo: A brief guide to rooting and flashing ROMs

21Jul10
[Warning: Rooting and flashing aren’t for those of a weak constitution.  If you’re not sure about it, don’t do it.  For the brave, this is surprisingly easy though not without minor risk.]

I finally had enough of waiting for HTC to bake Sense UI into Android 2.2, I need my tasty treats now.  I already have  some experience rooting the HTC Hero.  Unlike the Hero, I decided to root so I could try out the new features rather than for performance reasons though.
The procedure below should work on any HTC Android phone supported by Unrevoked, the one click rooting procedure.  I’m using a HTC Desire specifically but the principles are the same for all handsets.
I’m working on a piece about Android 2.2 features for the Desire.  As you’ll soon see, there are definite performance increases due to the JIT compiler, extra features galore and slightly better battery life.
Rooting
Rooting, simply put,  is gaining full permissions to do whatever you want to the phone.  In this case, we need to get root access and install a new recovery console that allows backup and replacing of a ROM.  A ROM is an image of the phone’s operating system.
The process described below will root and leave your phone with the factory default ROM you had installed.  Your settings will not be touched and no data should be lost at this stage.
Luckily for HTC owners, there is a tool for rooting all HTC Android phones in one click.  Unrevoked is available for Mac, Linux and Windows.  I use Ubuntu, like Macs this really is a one click process, I can’t speak for Windows personally but I believe you have to install and then uninstall the HTC Sync software in order to get the USB drivers needed.
Once Unrevoked is downloaded and installed you need to set your phone to debug mode:
Menu -> Settings -> Applications -> Development -> tick USB debugging

Now in the Terminal, go to the folder containing Unrevoked and run it using super user permissions:
sudo ./unrevoked

You will be prompted for your password and then the app will open.  It should detect your phone and present you with a button to start the process.  Hit the button and DONT TOUCH A DAMN THING UNTIL IT SAYS IT’S FINISHED.  This will take less than 5 minutes and reboot your phone a few times.  Unrevoked will make it clear when it’s done and your phone should boot up fine
Congratulations your phone is rooted allowing you to start….
Flashing ROMS
In order to install these ROMS you are going to need an SD card to store it on and to backup your current ROM.  There are plenty of Android 2.2 ROMs available on XDA Developers, some with Sense UI, some without.
Personally, I like Modaco’s ROMs though as I’ve used them previously on the HTC Hero.  They are always stable and tweaked for increased performance.  If you pay for a subscription to the forum then you can also “bake” your own ROM in the “kitchen”.  This is simply a web interface that lets you pick and choose which apps you want in your new ROM.  I used the Modaco ROM as it’s 2.2 with HTC’s Sense UI, technically it’s based on a leak of the genuine HTC ROM and Paul O’Brien has tidied it up, fixed the bugs and added his own tweaks and apps.
Anyway, download whichever ROM you want and while you wait for it to come down we’ll look at backing up any settings and apps you have on your phone.   I use MyBackup Pro from the market, you can also try Titanium backup.    This should let you backup your apps, home screens, settings, bookmarks and contacts/calendar if you aren’t already sync’ing the (WHY AREN’T YOU SYNC’ING THEM!?)
Now connect your phone to your PC via USB and save your ROM zip file to the root directory of your SD Card.  Rename it to update.zip and then disconnect the USB storage.  Once this is done, we can proceed to the most important step of all.
You need to backup the current ROM on your phone, this will make an image on your current system that can be restored if things go horribly wrong.  Turn off your phone and then start it up again by holding the volume down and the power button until you get into boot loader.  We need to get to the recovery console, on the bootloader screen you have to use the volume button to go up or down and then press the power button to select an entry.  You want to select RECOVERY.
The phone will reboot and take you to the recovery console.  Here you can use the trackpad to scroll up and down and select an entry.  You want to select nandroid and then backup.  Let this run and DONT TOUCH A DAMN THING UNTIL IT SAYS IT’S FINISHED.
Once this is done I would highly recommend wiping your phone from the recovery console.  WARNING: You will lose all settings, information and apps. Scroll down to wipe data/factory reset and select.  Once this is complete, scroll down to wipe cache partition and select.  Don’t think you can skip this stage, this is the number one cause of flashing issues and boot loops.  It can also cause problems once you’ve flashed a ROM and XDA users won’t help you unless you have done this.
Now you’re ready to flash your ROM.  Make sure you have plugged your phone onto it’s wall charger because this will take a few minutes.  Scroll down and select apply sdcard: update.zip and let it run.  You need to have balls of steel and this point, it takes great resolve not to pick it up and press buttons to find out if it’s stalled or not.  DONT TOUCH A DAMN THING UNTIL IT SAYS IT’S FINISHED.  In this case, the sign that it is finished is that your phone will boot up to the lock screen but this can take juuuuuust long enough for you to think that your phone is screwed. My rule of thumb is that if I’m not back to the lock screen after 20 minutes then something has gone wrong and you need to go back to nandroid and do a restore.  Another sign that something is wrong is that you go into a boot loop and the phone keeps showing the HTC logo.
Assuming you get the lock screen I would reboot the phone now, just to ensure that it’s working and because some ROMs require a reboot to finish setup.
Now you can log into your phone with your Google account and restore your settings and apps using MyBackup Pro.  Congratulations, enjoy your Froyo kids.
UPDATE: I thought I should add; this guide was carried out on an unbranded unlocked Desire.  While Unrevoked should root branded devices fine from what I can tell, when flashing ROMs you should be careful if the instructions for your ROM tell you to update the radio as well.  Flashing a radio update on a branded phone for Orange for instance may cause it to SIM lock.  If anyone has any useful information that I can add here on this subject, please contact me.
[If you have any issues or want more information on rooting and flashing ROMS, XDA Developers is a great resource.  A detailed and comprehensive post for rooting and flashing the Desire can be found on XDA here.  There isn’t a scenario that hasn’t turned up on XDA]


40 Responses to “HTC Desire and Android 2.2/Froyo: A brief guide to rooting and flashing ROMs”

  1. “Brief”, I think not. This is a fantastic post and is going to be helpful to a lot of users. Thanks Smart Adopter.

  2. 2 shoey

    Thanks. I’ve been itching for my Desire to get 2.2 OTA but am growing closer to fed up every day and want to flash my own ROM, but was scared because the forum in XDA was a bit too advanced for a newbie. This guide is is just perfect and has explained all my burning questions in plain English!

  3. 3 Nick

    Thanks very much for this guide, I’ve followed it, and am waiting for the ROM to flash. All fingers and toes crossed!

  4. 4 Peter

    After all the forums I visited, finally found the rooting and flashing instructions that work. Got rid of telstra’s (communications service provider) bloatware and now have Android 2.2/Froyo (Official_FroYo.zip) bloatware free with the freedom of a superuser.

    These guides works on bootloaders above .75 and didn’t need to make a goldcard.

    With the combination of three sites, I was able to complete the rooting and flashing HTC Desire without bricking the phone: http://android.modaco.com/content/htc-desire-desire-modaco-com/310794/fake-flash-by-koush-launching-recovery-on-your-device-without-a-pc/” and “http://www.youtube.com/watch?v=lq0pkDiqv6o&feature=related”

    Make sure you use a fake (flash recovery-clockwork-bravo.zip) after the root which will let the flashing process go all the way to the end without a hitch. I stuffed up a couple of times but I backed up my phone in the beginning, so just recovered the phone and started over again.

    Service providers sure do know how to wreck a great phone, lucky there’s some smart buggers out there!
    Cheers

  5. Glad this worked out for you. The Desire is so much better without carrier bloat

  6. 6 Jancis

    Thank You very much! This was my first attempt to do something with my phone.. while i was thinking if i really want to do that, it was rooted already 🙂 really quick and painless.

  7. 7 Jim

    I have tried to do this several times and it hangs up on the HTC screen, I have a desire cdma from U S Cellular. I dont know what I am doing wrong but cant seem to get past this. I hope someone can help me out

  8. 8 Dunetails

    I’m afraid I don’t have any experience with CDMA devices,there must be a section on XDA developers for the CDMA version of this phone.

    For the moment a nandroid restore should get you working again.I assume you did a wipe before flashing the new ROM? Not wiping has been the cause of my previous boot loops.

  9. 9 turgut

    same problem — HTC Desire with 2.2 loaded will NOT come to the recovery console – it displays an odd image (phone with an exclamation point) and stops, requiring battery removal..

    • 10 turgut

      update – I had neglected to unrevoked3 my device first..
      done that, now it’s happy..

  10. 11 Muhammad

    Hi, Instructions seem pretty simple. However, Unrevoked failed to detect my phone. Keeps saying waiting for device. Any advice?

  11. 13 sealman

    Hi. Great instructions, but… I almost made to root my desire-Z. Unrevoked answered that “vision” device is not yet supported.
    Any advice? Thanks.

  12. 14 Rav

    Hi,
    First up thanks a lot for all the information.
    Now, I got a problem with my HTC desire. As mentioned above, I rooted my phone with Unrevoked without any problem. However after backingup/flashing with one of the Modaco’s ROM, my phone just keeps switching on and off and I cant use it anymore! When I go into bootloader following message appear for a fraction of second (I needed to take a picture of them to be able to read)
    SD checking…..
    Loading…..(PB99DIAG.zip)
    No image!
    Loading…(PB99DIAG.nbh)
    No image or wrong image!
    Loading…..(PB99IMG.zip)
    No image!
    Loading…..(PB991MG.nbh)
    No image or wrong image!

    I tried to go in recovery but it simply doesn’t respond and infact the screen goes to sleep when I use the switch button to choose.
    My HBoot is 0.93.0001
    Radio-5.11.05.27
    BRAVO PVT3 SHIP S-ON

    I can’t even access my phone since the screen never really goes beyond the initial HTC logo.This is a brand new phone for me and am really freaked out with this problem. Goes without saying that I have done something terribly wrong and I really don’t care about any data or anything now and only want my phone back. I would be eagerly waiting for any help that you and anyone can offer.
    Thank you in advance.

    • Make sure the phone is off first by removing and then replacing the battery.

      Now start the phone by holding the volume down and that power at the same time. If you do this correctly you should always be able to get into recovery in order to do a nandroid restore.

    • 16 Udo Darwin

      I HAVE THE EXACT SAME PROBLEM! Theres some temporary fixes, but eventually it will keep on crashing, or thats at least whats been happening for me.
      And by the way when I say I have the exact same problem I mean it, i googled:

      “SD checking…
      Loading… [PB99DIAG.zip]
      No image!
      Loading… [PB99DIAG.nbh]
      No image!
      Loading… [PB991MG.zip]
      No image!
      Loading… [PB991MG.nbh]
      No image!”

      • Ok,what are the exact steps you went through that led to this?

        Does it occur after rooting? After installing a ROM?

  13. 18 Zophorian

    I haven’t tried flashing ROMs, don’t really want to. What I want to do is change my system font so that I can read Armenian .doc files on my phone. I used the steps above to root my phone and then tried a few methods to change my system font. It seems to change the font partially: the English looks different but the different alphabets I am supposed to gain are no where to be found. Then, when I reboot my phone it goes back to the system default font. Is there something about the way that my phone is rooted that won’t let me use alternate alphabets or permanently change the system font? Any advice or insight would be appreciated.

  14. I am at this time confident that i need to root my phone. Thank you for the fantastic tips

  15. 20 http://fastingforweightloss.net

    I conceive this site contains very fantastic composed written content articles.

  16. 21 john

    htc desire z: device version is not supported at this time

  17. I think this is one of the most significant info
    for me. And i’m glad reading your article. But wanna remark on few general things, The website style is perfect, the articles is really excellent : D. Good job, cheers

  18. I do not even know how I stopped up right here, however I believed this post was once great.
    I do not know who you might be but definitely you are going to a famous blogger when you aren’t already. Cheers!

  19. Hello victor ,
    they have in fact made a new solution called tremendous dmz two.
    0 and it truly is nevertheless on the market and legal
    so does one consider it would be safe for me to make use of for my age based on the original
    tremendous dmz?

  20. Inspiring quest there. What happened after?
    Good luck!

  21. 26 rmf304

    Everything works great up to the point of “Running root” “This was a triumph”. Then I get “internal error: Failed to unlock NAND flash?” I’m not sure what to do from there.

    • 27 CNK80Q3MX

      Sorry for landing too late… assuming you already found the solution for this. If not, I’ll say you first try ” revolutionary”. It’s a powerful, easy tool used to “s-off” the Hboot on your phone. It has a newer tricky version which unrevocked3 is unable to flash. Not so tricky for “revolutionary”, indeed. Try it first and then unrevoked3. I did so, and now I’m writing this with my just rooted HTC desire cdma. It’s actually very easy, though I did a lot of research to figure out and not making a mess. Tutorials are usually incomplete, but still can be used as a guide

  22. I got this website from my buddy who shared with me concerning
    this site and at the moment this time I am browsing this site and reading very informative articles or reviews here.

  23. Pretty section of content. I just stumbled upon your site and in accession capital to assert that I acquire in fact enjoyed account your
    blog posts. Anyway I will be subscribing to your feeds and even I achievement you access consistently rapidly.

  24. Hi there, You’ve done a great job. I will definitely digg it and personally suggest to my friends. I’m confident they’ll be benefited from this site.

  25. Thank you for another excellent post. Where else could anybody get that kind of info in such a perfect
    method of writing? I have a presentation next week, and I am at the search for
    such information.

  26. The coffee constantly preferences absolutely great created because of this and additionally
    really will most likely give you a jolt each day nonetheless it is actually a coffee
    maker not the coffee maker so not ideal if you such as the mug of coffee each day.
    I love my personal bialetti coffee maker and think it most likely will make the
    really coffee of all of the a variety of choices an estimated
    and today I need relocated inside my brand-new home that has a fuel cooker we am going to help
    make the efforts to utilize it a lot more often.

  27. Thanks for sharing your info. I really appreciate your efforts and I am waiting for your further write ups thank you once again.

  28. 34 Eden

    I always used tօ read post in news papers but nοw as I am a
    user of web thus from now ӏ am using net foг articles,
    thaks to web.

  29. Hey I know this is off topic but I was wondering if you knew
    of any widgets I could add to my blog that automatically tweet my newest twitter updates.
    I’ve been looking for a plug-in like this for quite some time and was hoping
    maybe you would have some experience with something like this.
    Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new
    updates.

  30. 36 Terrie

    Great items from you, man. I’ve be mindful your stuff prior to and you are just extremely excellent.
    I really like what you have bought right here, certainly like what you’re stating and the best way
    wherein you are saying it. You’re making it entertaining and you continue to care for to stay it wise.
    I can’t wait to learn much more from you.
    That is actually a terrific site.

  31. 37 android

    Thanks for another great post. The place else may anybody
    get that type of information in such an ideal approach of writing?
    I’ve a presentation subsequent week, and I am at the look for such info.


  1. 1 Smart Adopter « Ongoing Issues
  2. 2 Smart Adopter helps you Root and Flash ROMs « Ongoing Issues
  3. 3 Got sick of waiting, rooted and flashed Modaco's 2.2 ROM with Sense. WOW - Android Forums

Leave a comment