As I mentioned in a previous post, I'm enjoying my Nexus 7 tablet so much that I've given my HTC Sensation Xe to my wife and am now using her HTC Desire. Which is fine, apart from the fact that when she got it I upgraded it to the official HTC release of Android 2.3.3 (or Gingerbread) which left the phone with very little internal storage. She's mentioned it before but, to be honest, I hadn't realised just how bad it is. It's awful. The phone constantly reports being low on space with little or no apps installed.
Well, now that it's MY phone, it's time to do something about it.
There's a whole bunch of resources out on the internet about rooting. So many in fact that it's pretty overwhelming when all you want to do is get a single phone rooted with the minimum of fuss. I've spent a fair bit of time getting it sorted and at least part of the time I wasted doing it was because I didn't read the instructions properly. So, as I've done before, I'll attempt to put together a simple set of instructions to summarise what I did (on Windows 7 for clarity and for my very specific set of circumstances) in the hope that it might help someone else.
Okay, firstly, no matter what you do you're going to need to install some drivers. You'll need two sets - one for when the phone is in 'normal' mode and one for when it's in HBOOT mode.
for the normal drivers I'd recommend downloading and installing HTC Sync - or at least starting to. It'll first install all of the drivers for normal operation. Once that's done it'll start a standard-ish installation wizard for HTC Sync which you can and SHOULD cancel. You don't want HTC Sync installed at this stage as it messes things up so, if you've already got it, uninstall HTC Sync now.
Next you need the drivers for HBOOT so pop over to unrevoked.com and download the HBOOT drivers there then unzip them somewhere. Then put your Desire into HBOOT by turning it off and then turning it back on using the volume down and power buttons. If you find that it doesn't work, see if you've got Fast Boot enabled in the settings menu. If you can't find it, whip the battery out and put it back in and then turn on using power and volume down.
If you've got an HBOOT USB option in the HBOOT menu then select that using the volume up/down to move and the power button to select then plug your phone into your PC with a USB cable. If the option's not there, just go ahead and plug it in anyway (I did, and it worked fine).
Windows won't recognised the device and so you'll end up with an unknown Android 1.0 device in Device Manager. Right click, update driver and point it to your unzipped HBOOT driver folder. You'll get prompted that the driver isn't signed so you'll have to approve it to proceed.
Once that's installed, unplug the phone and reboot it (battery in and out again if it's easiest).
Now, here's where it depends on what version of Android you've got as to how you proceed. From what I can gather, the best option is unrevoked3 but it doesn't work for me on Android 2.3.3. I believe it works on Android 2.2 and earlier, but I can't guarantee that as I can't test it. The instructions seem pretty simple. Enable USB Debugging from the Settings>Applications>Development menu, plug the phone into the computer, change the USB mode to Charge only (from the pull down menu) and then run Unrevoked. It pretty much does the rest for you.
If, like me, you're stuck then you need to turn to revolutionary. Following the instructions over at androidforums.com you should first download ClockWorkMod 22.214.171.124 and put it in the root of your C drive for simplicity. Make sure you also follow the link it posts to the "Useful Downloads" section to get the latest username and password for downloading it. Next follow the set up instructions for ADB and FastBoot in the [FAQ] ADB and FASTBOOT for Windows post. You'll need this to install the recovery image.
Continue following the instructions - at this point you should be just starting step 4 (downloading revolutionary and the root file). Read the instructions, download the files (save revolutionary on your PC and the root file on the SD card), generate your beta key and then unzip and start running revolutionary. DON'T INSTALL THEIR RECOVERY IMAGE. You're going to install your own in just a minute.
Now boot into fastboot mode (power button plus volume down - see above) then select the fastboot option. connect the phone to the PC once again and you should see FASTBOOT USB on your screen. Open a command prompt on your computer and type:
fastboot flash recovery c:\recovery_CWM_126.96.36.199.img
(if you get some message like "command fastboot not recognized" then go back, read the ADB and FASTBOOT instructions again, and make sure you've modified your PATH variable.)
Finally, you need to apply the root file you downloaded earlier. Reboot into HBOOT (surely you remember how to do it by now?) and this time choose Recovery from the menu. Choose to "install zip from sdcard" then "choose zip from sdcard" and finally pick the zip you downloaded earlier (Superuser-3.0.7-efgh-signed.zip).
Reboot and you're now rooted! Woohoo!
So, now I'd recommend installing ROM Manager from the market which makes it incredibly easy to download and try out different ROMs. I'm using the Desire ISC ROM by Sandvold which is pretty good. The important part though is that after following the instructions at http://www.sandvold.as/FAQ.htm I am now installing all Apps straight to the SD card and not running out of space. Wonderful :)