Credit goes to Slimdizzy for his original post here:
When I rooted my Telus HTC Desire the first time it was hit and miss, if I remember correctly I did it 3 times until it worked 100%, by this I mean Unrevoked/Root ran without hitch, and after running Unrevoked I was able to reboot into Android, and then reboot back into recovery on my first try without any weirdness.....
The following steps are what I did to get my drivers installed and working the first time, rooting the phone, installing Radio 5.09.00.20, and getting a custom ROM installed (I used OpenDesire)
First things first you need the drivers, this is the most important part. Nothing will ever work for you if you don't have the right drivers installed.
1. Download the Android SDK here: http://dl.google.com/android/android...06-windows.zip
2. Unzip and place the files in C:\Android. You can place the files wherever you want but my steps will use this location.
3. Run SDK Setup.exe , if you get the Failed to fetch URL error, hit close and then go to Settings and enable Force https://. Then click on Available Packages, near the bottom you will see USB Driver Package, place a check mark beside it and then click Install Selected.
Alternatively you can try using these drivers, they have worked for other users but I have not installed my drivers using this method so I can't say how well they will work.....
4. Android SDK will download your drivers and place them here C:\android\usb_driver.
Now plugin your Desire with USB Debugging enabled (Settings --> Applications --> Development). Windows will prompt you for the device drivers, point windows to the C:\android\usb_driver folder and it should do it's thing. YOU MUST BE SURE TO INSTALL THE ADB DRIVERS, without those Unrevoked will not run.
5. Once all your drivers are installed, you can verify them by checking with the Android SDK
Open a DOS prompt (CMD in the Run box) and navigate to C:\android\tools and then type "adb devices", it should return a funny device name/ID, if you see a device listed then you are good to go, if you don't then repeat these steps until you do, check your Device Manager for an uninstalled device/driver.
Steps for Rooting:
***Follow these steps after you are 100% sure you have the drivers right!***
***DO NOT plug you Desire into your computer yet***
1. Goto http://unrevoked.com and download the software
2. You now have a choice of recovery, Amon RA has released an SLCD version of his recovery, which in my opinion is much better, it has a few more features than Clockwork. I recommend Amon RA, but the choice is yours.
Amon RA Recovery v188.8.131.52 R5 SLCD: http://dl.dropbox.com/u/4481275/reco....1-R5-SLCD.img
Clockwork v184.108.40.206 SLCD:http://koush.tandtgaming.com/recover....0.7-bravo.zip
3. Go to HBOOT, this is done by shutting down your phone and powering on the device while holding the Power button down and pushing Volume down at the same time, once HBOOT is loaded do a wipe (Clear Storage). You can navigate the menus by using the volume rocker and the Power button to select your option.
4. Load Unrevoked and load the custom SLCD recovery file on your PC:
Goto File>Custom Recovery and point it to the recovery image that you downloaded in step 2.
5. Restart your phone, it will take a few minutes because you did a wipe, just wait it will load (up to 5 minutes). As soon as the welcome screen loads plug your phone in to the PC and Unrevoked should do it's thing. If Unrevoked doesn't start, then hit the Menu button go to Settings --> Applications --> Development and enable USB debugging.
6. The phone will restart a couple of times, and will look like it's hanging on the HTC screen but it's not! If the HTC screen is present for more than 5 minutes pull your battery and start again ( I had to do this a couple times myself). If Unrevoked pauses half way through its process, it could be because for some reason you don't have the proper drivers installed. You can load them as Unrevoked does the root process, while the phone is rebooting if Unrevoked pauses and Windows prompts you for a driver point it to the C:\android\tools directory and it will load the drivers and Unrevoked will continue its root process.
7. When Unrevoked is finished you will be left at the recovery screen,
8. *** VERY IMPORTANT*** Before restarting do a "wipe cache partition", "factory reset". And now would be a good time for a Nandroid Backup
9. Now reboot, and Android should load. Check for Superuser Permissions app, if you see it you're good if not restart from step 3.
10. Shutdown and load HBOOT, wait a few seconds for SD card (you'll see something try to load quickly), then load recovery again, it should load everytime without issue now.
It may take a few tries, but just follow these steps and it will work.
Steps for flashing radio, and custom ROM:
1. Grab a custom ROM from the forum, I used OpenDesire: http://forum.xda-developers.com/showthread.php?t=712615
OpenDesire comes with a nice reboot to Recovery feature built in.
2. Once zip is download, copy it to your SD card
3. Get the updated radio needed from here: http://www.mightyrom.com/mrx/MRX/Bra...09.05.30_2.zip
4. Reboot into recovery by powering on the device while holding the Power button down and pushing Volume down at the same time. Select Recovery with the Volume rocker and then click the power button to launch it.
5. Select "install zip from SD card" using the trackpad and select the radio zip that you download in step 3.
6. Let it do its thing (could take up to 10 mins to finish), use the back button to get to main menu and select "reboot system now" with the trackpad. If your phone hangs after rebooting wait at least 10 minutes before pulling the battery, it could be finishing the radio update.
7. Once rebooted check that the new radio is good by loading HBOOT (you should know how to do this by now) and at the top it will show you're radio version.
8. Load recovery again and select "wipe cache partition", "factory reset" (for the 3rd and final time). Then select "install zip from SD card" using the trackpad and select the ROM zip that you download in step 1.
9. The new ROM is now installed, restart the phone and wait up to 20 minutes (it shouldn't take that long) for the new ROM to load, DO NOT PULL YOUR BATTERY UNTIL AT LEAST 20 MINUTES HAVE PASSED.
You should now have your phone rooted, new radio installed, and a new custom ROM loaded.
Sorry for such a long post, but I found all these steps necessary to get the end result.
If I have missed anything or if anyone has comments / corrections post them here and I will try to keep the tutorial updated and easy to use as possible.