HTC Legend rooted

As promised earlier today, the HTC Legend rooting guide has been posted by PaulOBrien, the founder of MoDaCo.com.

Paul, who rooted the HTC Desire earlier this week, is on a roll!

Here are the current instructions (29/Apr r1) from Paul himself:

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 Legend!

Compatibility

This guide will allow you to root your HTC Legend, provided it has a bootloader version of 0.43 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.43 or below, this guide should work for you.

Legend 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 Legend 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 MSM7227 chipset used in the Legend (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.23.405.1 based ROM that has Superuser access (i'll be updating this to the 1.31 ROM series shortly - OTA updates will fail to apply)
  • 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 Legend
  • 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)

Download

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

  • the ISO image - DOWNLOAD / MIRRORS COMING SOON MD5: c56dd594f0a1179ed3a44924fca456d2

Once you have this 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 Legend 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 Legend, 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/cdromsudo mount /dev/cdrom /mnt/cdromcd /mnt/cdrom/rootsudo ./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!

Troubleshooting

If you have any issues with the root process, post below, and we'll do our best to help!

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!

P

Thanks to ChainsDD for his excellent new Superuser Permissions update and Amon_RA for the recovery image I butchered here.