28
Apr
HTC Desire
Last Updated: April 2nd, 2011

Yesterday, we reported on an exciting announcement for all HTC Desire owners - @PaulOBrien managed to root the device and promised detailed instructions to be posted today.

Well, he's backed the promise up with action and as of this morning, full instructions have been posted.

Paul notes that HTC made it much harder to access key partitions and write any data to them, compared to, say, the Nexus One. This made the process of rooting extremely complicated and left it a quite crippled (he's still working on uncrippling it).

The current set of instructions (29/Apr r3) is below - get ready to do some reading:

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!
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. wink.gif
Pre-requisites
In order to complete this guide, you need the following...

  • a HTC Desire wink.gif
  • a PC
  • a microUSB cable
  • a microSD card (to be made into a 'goldcard')
  • the downloads below
  • balls of steel (actually, I just made that up) tongue.gif

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

Once you have this on your machine, you're ready to start! smile.gif
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!).
  • Burn the ISO you downloaded above to a CD and boot it, or boot it in a virtual machine.
  • Press enter when prompted to load Linux. When it has loaded, click the little 'monitor' icon at the bottom of the screen to open a terminal window.
  • 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 the computer.
  • In the terminal window, enter the following commands:

    sudo mkdir /mnt/cdrom
    sudo mount /dev/cdrom /mnt/cdrom
    cd /mnt/cdrom/root
    sudo ./step1.sh

  • When this step has completed, using the optical trackball, navigate to the 'BOOTLOADER' and then 'RECOVERY' option on the menu, using the volume buttons to move and the power button to select. Then, again in the terminal window, enter the following commands:

    sudo ./step2.sh

  • When this has completed, your device should be at the 'recovery' screen. Select the 'wipe' option, then select the option to apply an update zip from sdcard, and select 'rootedupdate.zip'. This will take a little while, so go make a nice cup of tea. When the flash has finished, reboot, and you are DONE! smile.gif

Troubleshooting
If you have any issues with the root process, post below, and we'll do our best to help! smile.gif
And finally!
If you wish to do so, you can express your appreciation by signing up to a MoDaCo Ad Free or MoDaCo Plus Account using PayPal or Google Checkout, as detailed in this post on MoDaCo. As well as donating to support the work that goes into all the various MoDaCo activites, you get cool stuff like free software (there's some great Android stuff coming too!), an ad free MoDaCo site and of course access to the MoDaCo Online Kitchen. All signups are very much appreciated.
Enjoy! smile.gif
P
Thanks to ChainsDD for his excellent new Superuser Permissions update and Amon_RA for the recovery image I butchered here. wink.gif

HTC Desire

HTC Desire

Here are some optional updates also provided by Paul (such as A2SD for those looking for the ability to install applications to the SD card:

Optional update zips
Apply this updates after rooting by copying to sdcard any applying from the recovery image (entered using the recovery-xxx.sh method).
A2SD - DOWNLOAD / MIRROR
32.36.00.28U_4.06.00.02_2 Radio update (from Asia 1.19.707.6 update) - DOWNLOAD / MIRROR
Chinese Input (HTC_CIME) - DOWNLOAD DO NOT USE ON ORANGE
Arabic Fonts (testing) - DOWNLOAD / MIRROR
Hebrew Fonts (testing) - DOWNLOAD / MIRROR

What can we say after seeing how much work was put into this release?

Huge props to @PaulOBrien and those devs who helped him out.

You can support Paul by signing up for the Ad Free or Plus accounts at MoDaCo.com.

Sources:

Artem Russakovskii
Artem is a die-hard Android fan, passionate tech blogger, obsessive-compulsive editor, bug hunting programmer, and the founder of Android Police.
Most of the time, you will find Artem either hacking away at code or thinking of the next 15 blog posts.

  • tony

    i dont have linux, so i am fu**ed

    • http://www.AndroidPolice.com Artem Russakovskii

      You don't need Linux - you just need a PC. The instructions say you download a LiveCD and boot into it - no Linux installation necessary.

  • Cross

    I got a error during step-2. My PCs cannot find new device "Android 1.0". Either Win XP and VISTA...

  • Dave

    I have read that this flash is not for ORANGE badges phones, is that correct?

  • akscb24

    my HBOOT version is 0.92 and i am using android 2.2, how can i root my cellphone?

    • akscb24

      my HBOOT version is 0.92 and i am using android 2.2, how can i root my cellphone?

Quantcast