Root Your HTC Desire

April 28, 2010
3

Yesterday Modaco promised to release the instructions to root your HTC Desire. Well, today is the big day. If you’re ready to root your Desire and unleash its full potential, follow the instructions after the break.

Read this whole topic - it contains a ton of useful information as well as the instructions and downloads!

Remember that if you use this guide, you do so entirely at your own risk!

Welcome to my guide on how to root the HTC Desire - this is a 'first cut' of the guide, and will be refined / improved as time progresses!

Compatibility

This guide will allow you to root your HTC Desire, provided it has a bootloader version of 0.75 or below. To check this, turn off your device, then turn it back on with the 'back' key held. On the second line in green text you will see HBOOT- and then a number. Provided this is 0.75 or below, this guide should work for you.

O2 Germany devices are currently shipping with a 0.80 bootloader, and as such cannot be rooted using this guide at this time.

Desire rooting protection

Back in the early days of Android, rooting was easy. You had several options - you could flash stuff via the bootloader, you could flash an engineering bootloader, you could use kernel exploits - there were many ways of getting the low level access to your device that - in fairness - I think we as paying customers are entitled to. As time has progressed however, the manufacturers have made things harder and harder. The Desire is not a straightforward phone to root, for many reasons, including...

* a 'perfected bootloader' that doesn't allow flashing or booting of any images (even HTC signed ones)
* a RUU flash process that does not allow downgrading of the bootloader to earlier versions
* a kernel (that as yet does not have publicly available source) that as yet has no known exploits
* a new protection method previously seen on the HTC Tattoo that protects key partitions from having write access. Even with SU access, it is not possible to write to the boot, recovery
or system partitions.

In reality, the options for rooting a device this secure are limited. Even if a kernel exploit were found, the key partitions would still be unwritable, rendering su access useless. This was circumvented on the Tattoo very cleverly, using a specific memory address from a confidential Qualcomm datasheet, however this information is not yet available for the Snapdragon chipset used in the Desire (and indeed may never enter the public domain).

And so the root process becomes a process of methodically probing every possible point of exposure on the device, looking for the slightest chink in the armour. I found one and we're putting it to good use! The downside is that it's not as easy or as pretty as rooting a device that is actually DESIGNED to be accessible at the lowest level, such as the Nexus One.

Shame on you HTC for going to such unnecessary lengths (but that's another story for another day).

What this root process provides and does not provide

The root process will...

* flash your device with a new, generic 1.15.405.4 based ROM that has Superuser access
* show you how to enter the recovery image in future, allowing you to flash update zips

The root process will NOT...

* enable you to flash your device with a custom recovery image that can be launched easily by just holding down the volume down button when powering on
* enable you to have write access to the /system partition in normal use of the device

Both of these limitations are being worked on of course.

Pre-requisites

In order to complete this guide, you need the following...

* a HTC Desire
* a Windows machine (sorry, I am trying to remove dependencies on specific OS')
* a Linux (a liveCD should do) or OSX machine (sorry, I am trying to remove dependencies on specific OS')
* a microUSB cable
* a microSD card (to be made into a 'goldcard')
* the downloads below
* balls of steel (actually, I just made that up)

Downloads

To be ready for the guide, download the following items...

* the 'test ruu' - DOWNLOAD / MIRROR - MD5: f1981b26b90b97aea395d2b30909a23f
* the 'push files' - DOWNLOAD / MIRROR- MD5: 9ee301b702078dd1842bd1c67e552f6e
* the 'rooted update' - DOWNLOAD / MIRROR - MD5: 44f2614452ddf777cab9115e2174a91a

Once you have those on your machine, you're ready to start!

The guide

Follow through these steps, one by one and at the end of it you'll have a rooted Desire with the latest ROM.

Note: This process will wipe your device and there is currently no option to backup your device ROM before you start.

* Make your microSD card into a goldcard by following these instructions (it's a good idea to back up the contents of your card first!)
* Copy the 'rooted update' you downloaded above to the root of your SD card, before replacing it into your device.
* Turn off your HTC desire, then turn it back on with the 'back' button held down. You'll see 'FASTBOOT' written on the screen in a red box.
* Connect the phone to your computer, then run the 'test ruu' that you downloaded above (it may take a short while to start). Let the update complete and turn your device off as soon as it reaches the configuration wizard. If you need USB drivers, you can find them as part of the HTC Sync install.
* Your device should now be off. Unplug the device from your computer. Turn it on again while holding down the 'volume down' button this time. The screen will look similar to before, but will say 'HBOOT' instead of 'FASTBOOT'. Use the volume buttons and the power button to select the 'RECOVERY' option. You should then see a screen with a red triangle - at this point, plug it into your Linux or OSX computer.
* Now you need to unzip the 'push files' zip that you downloaded above. When you have done so, you'll see a file called 'recovery-linux.sh' or 'recovery-mac.sh'. Run the one appropriate to your operating system and the screen of your device should change to display the green recovery image menu.
* In the recovery image (moving around using the optical trackball), select 'Wipe -> Wipe data /factory reset' then 'Flash zip from sdcard' and choose the rooted update. Confirm with the trackball and the update process will begin. It'll take a little while, so go make a nice cup of tea.
* When the flash has finished, reboot, and you are DONE!

[via Modaco]


Recent Stories
  • http://profiles.google.com/camjackson89 Cameron Jackson

    Seeing as it’s just a shell script, can the linux part be done on windows with cygwin?

  • Jan

    Link Broken.

  • xperfect

    all i get tryin to download is just ….404 NOT FOUND……..oh no!!