How to Root the HTC Desire HD

This instructions are written primarily for hacking HTC Desire HD from the Linux 32bit (utilities in AAHK kit: adb and Fastboot are 32-bit). I didn’t want to clean Windows7 like disabling virus scanner, uninstall Droid Explorer or other smartphone, PDA or tablet software. Boot from the Live Linux CD is the most easier method and has the best chance for success.

Important note!
AAHK is no longer supported. Please read the following post: The AAHK is retired.

Please note that rooting your phone will void the phone’s warranty. You will not be eligible for repairs or replacements if mobile network operator finds out it has been rooted, regardless of whether or not you have insurance. If you decide to root, you do so at your own risk. accepts no responsibility for any consequences if you choose to proceed.

Main intention was to show exciting procedure and experience during rooting process. Article’s main purpose is to inform and be helpful if you stuck in some part of a long journey. In my case, HTC DHD had latest update – Gingerbread 2.3.5 and Sense 3.0 version. AAHK kit will first downgrade DHD to the 2.3.3 version and then hack the phone. After obtaining root access (rooting a phone), you will have a choice to install any ROM you like. Here are steps for rooting the HTC Desire HD on Gingerbread:

  1. Turn on USB debugging and charge only mode
  2. Ubuntu live CD i686 (32 bit)
  3. Download and unzip kit
  4. Start script (enter key)
  5. Downgrade to Android version 2.3.3 (stage 1)
  6. Hack the phone (stage 2)
  7. Turn off Fast Boot option
  8. Backup current image (Android 2.3.3)
  9. Wipe
  10. Install custom ROM from ZIP file
  11. Install gapps from ZIP file

First I will list all downloaded software needed for this procedure (a link list on the one place):

Name / Link Size [MB] Description 97 AAHK – Advanced Ace Hack Kit (download link is on the page)
ubuntu-12.04-desktop-i386.iso 702 Ubuntu desktop 32bit 89 CyanogenMod 7.2 for HTC Desire HD / Inspire 4G – ace / stable / mirror 6.2 Google Apps: Gmail, Maps, Android Market … 247 Automatically downloaded Sense 2.1 / Android 2.3.3 for HTC from AAHK kit

After downloading images (or ZIP files) make file checksum to check file integrity. You just can’t be sure there was not a single bit error during transmission. Checksum test should confirm that downloading was without any error. Open terminal on Linux and type the following command for downloaded files:

bash> md5sum
bash> md5sum

md5sum command will compute and check MD5 message digest. Simply said, it will display something like this:


You should compare this result with printed checksum on the page from where files were downloaded. If values are the same, then file is OK and can be copied to the SD card.

1. Turn on USB debugging and charge only mode
Before any action set up phone with two options: “USB debugging” and “Charge only” connection type. USB debuging will enable communication with PC via USB cable while charge-only mode will allow phone to stay calm when plug cable to the PC.

Menu -> Settings -> Applications > Development -> USB debugging
Menu -> Settings -> Connection to PC -> Default connection type -> Charge only

2. Ubuntu live CD i686 (32 bit)
Preparing Ubuntu live CD is easy task. Download Ubuntu Desktop 32 bit and burn/create installation CD. Do not try to run Ubuntu from USB stick it can result with USB ports mess. Installation CD is recomended live boot. After ISO image is downloaded and written to the CD, boot Ubuntu from CD. On boot screen select option Try Ubuntu without any change to your computer and wait to finish booting.

3. Download and unzip kit
After Ubuntu Linux (or any other i686 distribution) is booted, open terminal, download and unzip the script:

> cd ~
> mkdir aahk
> cd aahk
> wget # please check for latest version on
> unzip

If you have previously downloaded aahk zip from the Advanced Ace Hack Kit page, do not unzip or run script from the USB stick. FAT / NTFS file systems (that are usually on USB stick) don’t have execution flags like Linux FS. Actually NTFS is a POSIX-compatible filesystem, and it is possible to use permissions but with “permissions” option when mounting. So, it’s easier to copy zip file to the home directory and unzip.

One of the unzipped files is efffen-manual.html so open it with browser and read it very carefully – take your time and don’t rush. I know it’s referenced as effen manual but the file name was with 3 “f” in name. Reading instructions is one of the most important steps in this process.

4. Start script (enter key)
Now it’s time to begin hack. Be sure that USB debugging and charge only mode are set. Plug phone to the PC, take a deep breath and run the script.

> sudo ./

After checking adb connection (adb tool is contained in aahk zip), script will stop with the following prompt:

Input PASS KEY and press ENTER

Generated pass key can be found in CAJUN.txt file. Open another terminal and print pass key to the stdout:

> cd ~
> cat aahk/tools/text/CAJUN.txt

Copy printed key and paste to the prompt in first terminal where script waits for input. Here is example of the key:


Do not be confused, key is complete word with “RTEM-” part (not only last part with numbers).

5. Downgrade to Android version 2.3.3 (stage 1)
In first step, script will downgrade phone from Gingerbread 2.3.5 to 2.3.3 version. After several reboots and flashing phone, DHD should boot to Sense 2.1 and Android 2.3.3 version (ready for hacking). Here are software versions of HTC DHD stock ROM before downgrade:

Sense: 3.0
Android version: 2.3.5
Software number: 3.12.405.1

and after downgrade process is finished:

Sense: 2.1
Android version: 2.3.3
Software number: 2.50.*

6. Hack the phone (stage 2)
With GB 2.3.3 version HTC DHD is ready to be rooted. Before any action, set USB debugging and charge-only mode again because this settings are not default. Connect phone with USB cable to the PC (if it’s not already connected) and run script again. This time script will jump to the second stage and hack the phone. If in the middle of the process phone stays in white/black screen in manual is written the following info:

Resolve your connection issues (USB port/cable, Drivers, etc.), reboot the phone and rerun the hack kit from the black screen. Do NOT Wipe data – this will disable USB debugging… forcing you to run a RUU, before using this kit again.

Luckily, I didn’t have any of this problems and my DHD was succesfully rooted.

7. Turn off Fast Boot option
Hopefully, boot loader is opened and phone is rooted. Before installation custom ROM it is wise to backup current image from backup/recovery boot loader option. A NANROID backup is basically a backup of your Android operating system from the phone’s NAND memory, saved to the storage card. It is always advisable to take a NAND backup of your phone before you attempt to flash a new ROM to it so that in case anything goes wrong, you can revert your phone back to its previously working state. Before boot to the boot loader it is important to turn off Fast boot:

System -> Power -> Fast Boot (just uncheck checkbox)

Now turn off the phone and wait for a few seconds. To boot to the boot loader options, press and hold “Volume down” and press “Power” button for few seconds – boot loader options should be displayed. If phone starts up in a second (like if it was not turned off really, just hibernated) then Fast boot option is not turned off.

8. Backup current image (Android 2.3.3)
After HTC is boot to the boot loader, select “backup and restore”, “Backup” and then “External SD Card” option:

backup and restore -> Backup -> External SD Card

Menu navigation is with Volume +” or “Volume -” keys and “Power” key to select option. Keep in mind if you choose “Internal storage” then later flash a ROM (newer custom ROM) will wipe this backup. Actually everything on internal storage will be overwritten.

9. Wipe
Cleaning data and cache partition is needed before custom ROM installation. This step is important because custom ROM is actually a new firmware with different data.

So, if your intention is a new ROM installation then it’s good to transfer ROM ZIP file to the SD card before cleaning – just for any case. Boot phone to the old ROM and save new ROM to the SD card with USB cable, ES File Explorer or any other method. After ZIP file is copied reboot phone to the ClockworkMod recovery (like described in step 7).

From the ClockworkMod main menu select “wipe data/factory reset” and “wipe cache partition”:

wipe data/factory reset -> confirm
wipe cache partition -> confirm

Here is part from efffen-manual.html (it’s written in bold red so it cannot be overlooked):

STRONGLY RECOMMENDED: If recommended by rom author or if flashing over another rom type (ex: cyanogenmod over anything else), wipe data/factory reset BEFORE proceeding. MOST NEW ROMS REQUIRE THIS.

10. Install custom ROM from ZIP file
ZIP file with new ROM (previously checked with md5sum) should be ready on the SD card. Boot phone to the ClockworkMod recovery and choose “install zip from sdcard” option. Navigate with Volume up / Volume down keys to the ROM ZIP file and press Power button to select the file (Power button is also used to open folders). After ZIP file is selected, flashing will start and custom ROM will be written to the NAND memory (internal storage). Next step is to reboot phone (or you can turn it off, take a break like I did ;) and turn it on).

Phone should boot with new custom ROM … please be patient because first start can take a couple of minutes longer. Now your phone should be nicely running new custom ROM. Congratulations! In case of installation of CyanogenMod 7.2 software version will look:

Sense: no more (this option doesn't exist any more)
Android version: 2.3.7
Mod version: CyanogenMod-7.2.0-ace

11. Install gapps from ZIP file
This is optional step after installation of CyanogenMod ROM. Download and copy gapps file to the SD card (I have chosen latest gapps-gb for CyanogenMod7.2 because is based on Gingerbread for HTC Desire HD). Boot to the boot loader with Volume down + Power button (don’t forget to turn off Fast Boot option and to return it after installation). Or you can boot to the boot loader from the phone itself:

Applications -> ROM Manager -> Click on OK on Message window -> Reboot into Recovery

ROM manager and Superuser applications are installed after hacking GB 2.3.3 and came with CyanogenMod ROM.

The process is similar to the ROM installation. Choose “install zip from sdcard” option in boot loader and navigate to the gapps ZIP file. This should be quickly finished. Reboot the phone and you should be prompted for Google Account, Syncing and so on. After input user name and password, phone should start sync contacts and applications so it’s a wise to set WiFi connection before. In my case even background image was set as the one I have on the stock HTC rom :)

Described procedure is not simple and requires from you to be focused and well prepared. Read manual before start, check version numbers of your phone, test checksums of downloaded files, create backup and have a little hope. The most important for me was “live support” if something goes wrong. Just join to the IRC channel and chat with super users. They will help for sure but do not ask questions if you didn’t read manual carefully. Here is part form efffen manual:

– join us in our IRC, for support or questions pertaining to this kit
– If you ask anything that is covered in this manual, we will make fun of you and possibly ban you.
– read this ENTIRE manual – don’t skim it (there is a quiz later)

At the end I will list links that were very helpful for me. The first one is official HTC blog where DHD users were informed about stopping of ICS development. I may say that was a trigger in my case and no more “Sense” (DHD will be my lats HTC phone). They said, the reason of stopped development is needed re-partitioning before ICS installation and loosing user data. Currently we are asking HTC (with petition, comments on their blog and facebook) to release only ICS kernel and allow XDA developers to finish custom ICS ROMs. The whole point of Linux is openess and this HTC guys will understand it hopefully or there will not be HTC in the near future. OK, here is link list:

Link Description HTC announcement about stopping developing ICS for DHD Advanced Ace Hack Kit blog If you have read the effen-manual and get stuck during processing, help is available in IRC. Excellent live support if something goes wrong don’t ask questions if answer is written in effen-manual. Guys are angry for such questions. I was even banned once from the forum when I answered some other visitor on questions “where is pass key”. They wont users to read carefully manual before starting hack process. short but good topic about hacking DHD (recommended to read) HTC Desire HD / AAHK output

14 thoughts on “How to Root the HTC Desire HD”

  1. Hi,

    I am trying to root and downgrade my HTC desire HD, but, like many other folks out there, I would like to backup mi current ROM, but here is my dilemma.

    In the part 8 of your guide, i.e.,
    – 8. Backup current image (Android 2.3.3)
    you explain how to backup the 2.3.3 ROM
    after downgrading from 2.3.5 to 2.3.3 (not dared 2 do it just yet)

    but not how to backup the 2.3.5 ROM as a whole!

    As a matter of fact, the menu
    backup and restore -> Backup -> External SD Card
    does not even exist in the options of the HTC bootloader when you of GingerBread 2.3.5

    If it is possible, do you know of a tool that would be able to backup the whole GB2.3.5?

    FYI, my current settings are as follows:
    Android version: 2.3.5
    HTC Sense version: 3.0
    Software number:

    Thanks VM for this great guide

  2. @pgradone – Rooting HTC Desire HD is not trivial. Procedure contains many steps that should be read carefully. I’m not sure if is even possible to backup DHD with 2.3.5 because stock boot loader doesn’t contain backup option (as you also stated in your comment).

    But, after phone is successfully downgraded to 2.3.3, it is start point for playing with custom ROMs. To be sure that custom ROM will not mess the phone, with 2.3.3 backup you can always back to the previous fully functional state.

    If you have specific questions related to rooting DHD phone, try to contact guys on aahkSupport IRC channel. They were very cooperative and all my questions were answered. And little warning, before connecting to IRC, please read manual twice because user will be banned if his question is already covered in docs.

  3. Hi,

    I finally succeded in downgrading to 2.3.3 using aahk-11092012, after carefully reading and applying all steps of the Effen manual. After this I had a fully functional phone and even installed a few apps to play around. I could even backup my current setup to SD card successfully. I had a rooted phone, S-OFFed etc…, that was working perfectly and could reboot normally as many times as I wanted.

    So then decided to go ahead and install a custom ROM I wanted to try.
    I copied one (.zip) to the root of my SD card
    I tried to flash it using the recovery tool, but I somehow failed

    Now I am stuck with HTC boot screen and phone does not want to boot anymore.
    The only thing I could do is to remove the battery, put it back, push power button, but still stuck with HTC boot screen (green HTC on white background)

    The only other action I can perform now, is accessing boot screen (vol down + power button), but the only choice I have here is to use Vol Up (yes) or down (no) to start update.
    Here is what the AAHK boot screen is showing:

    ***** AAHK *****
    Apr 12 2011,00:55:45


    Parsing…[SD ZIP]
    [1] BOOT
    [2] RECOVERY
    [3] RADIO_V2
    Do you want to start update?

    – If I choose “no”, It will reboot to HTC screen and stuck again
    – If I choose “yes”/
    Update is in progress… (for a few moments, with progress bar on upper right part of screen)
    then, after completing OK next to the [1][2][3] text like so:

    [1] BOOT – OK
    [2] RECOVERY – OK
    [3] RADIO_V2 – OK

    it reads
    Update Complete…
    Press to reboot

    … and I kept getting stuck in HTC boot screen :(

    I would gladly apreciate your help and hope I didn’t brick my phone!

  4. Forgot to mention that right before the update prompt, AAHK display other choices, which I cannot access because my UP/DOWN vol button does not work during this time lapse.
    I can then read the following menu options:

    but as I said, I cannot move fast enough with vol button and it goes automatically to the first option (FASTBOOT)

    [1] BOOT
    [2] RECOVERY
    [3] RADIO_V2
    Do you want to start update?

    and here, as stated previously, I can choose normally

  5. @pgradone – From this point you should be able to enter to boot loader and re-install your backup. I’m not sure why is not possible to navigate with Volume up / down and to select “recovery” option. Please login to aahkSupport IRC channel and explain your problem to guys that actually created AAHK root kit. They should know answer to such specific question.

    Did you wipe data/factory reset BEFORE custom ROM installation? This step is strongly recommended before custom ROM installation (for example CyanogenMod over anything else).

  6. Hi dbunic,

    I didn’t reset before custom ROM install, and that was probably my fatal mistake.
    Neither entering bootloader, nor normal boot helped; and the device did not respond with adb.

    Anyways, I finally degunked me out of this situation on my own, after carefully reading the code of the AAHK script, hack-ace.cmd, and noticing that, in bootloader mode, it was requiring a file called
    The latter was not on my goldcard anymore, so I simply decided to take the SD card out of the phone and plug it into a USB micro-adapter and into my PC.
    – copied the file \aahk-11092012\PD98IMG\ to root of my SDCard
    – renamed to
    – put back the SD card into the DHD
    – reboot into bootloader and updated the rom again
    This time, I noticed that in HBOOT it had more points than before.
    [ had hopefully added more steps to be updated,
    [2] BOOT
    [3] RECOVERY
    [4] SYSTEM
    [6] SPLASH1
    [6] SPLASH2
    [7] USERDATA
    [8] TP
    [9] TP
    [10] TP
    [11] TP
    [12] RADIO_V2
    [13] RADIO_CUST
    – I chose to Update, i.e., Yes
    – HBOOT performed all steps OK, and I could finally reboot the phone back in HTC stock android 2.3.3

    Finally, after restarting the whole AAHK process + installing ROM manager, I find myself with a perfectly working CyanogenMod ROM, by following this thread here:
    However, one must be careful NOT TO PERFORM STEP 5 of this procedure using AAHK (didn’t work for me)

    Thanks VM for your support!

  7. @pgradone – I’m very happy that this issue has been successfully ended.

  8. How much time did you spend going through all the 13 steps of the flashing. Its taking like forever and Im starting to worry… I got stuck @ “[12] Radio V2 and the bar at the right top is red… is this normal?
    thanks in advance

  9. Thank you very much for your advice, unfortunately the process got stuck at the step named before, so I took out the batt and now the device is unresponsive. I’ll read what you mentioned above, but is there any piece of advice you can give me for what my situation is right now?
    thanks in advance.

  10. can any body help me with because aahk is retired and they didn’t hots anymore. can any one upload it so that I can download

  11. This post describes root procedure for HTC DHD with AAHK. Unfortunately, author of AAHK (Ace Hack Kit) decided to stop support and further development. Please read his post with explained reasons why hack kit is retired:

    The AAHK is retired

    Accordingly, the comments on this post will be closed in order to reduce any possible damage due to bricked HTC devices.

Comments are closed.