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.
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. www.redips.net 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:
- Turn on USB debugging and charge only mode
- Ubuntu live CD i686 (32 bit)
- Download and unzip aahk-11092012.zip kit
- Start script (enter key)
- Downgrade to Android version 2.3.3 (stage 1)
- Hack the phone (stage 2)
- Turn off Fast Boot option
- Backup current image (Android 2.3.3)
- Install custom ROM from ZIP file
- 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|
|aahk-11092012.zip||97||AAHK - Advanced Ace Hack Kit (download link is on the page)|
|ubuntu-12.04-desktop-i386.iso||702||Ubuntu desktop 32bit|
|cm-7.2.0-ace.zip||89||CyanogenMod 7.2 for HTC Desire HD / Inspire 4G - ace / stable|
|gapps-gb-20110828-signed.zip / mirror||6.2||Google Apps: Gmail, Maps, Android Market ...|
|PD98IMG-GB2.zip||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 cm-7.2.0-ace.zip or bash> md5sum gapps-gb-20110828-signed.zip
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 aahk-11092012.zip kit
After Ubuntu Linux (or any other i686 distribution) is booted, open terminal, download and unzip the script:
> cd ~ > mkdir aahk > cd aahk > wget http://tau.shadowchild.nl/files/aahk-11092012.zip # please check for latest version on http://tau.shadowchild.nl/attn1/?p=74 > unzip aahk-11092012.zip
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 ./hack-ace.sh
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.
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:
|blog.htc.com/2012/03/ics/||HTC announcement about stopping developing ICS for DHD|
|tau.shadowchild.nl/attn1/||Advanced Ace Hack Kit blog|
|webchat.freenode.net/?channels=#aahkSupport||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.|
|forum.xda-developers.com/showthread.php?t=1783089||short but good topic about hacking DHD (recommended to read)|
|www.redips.net/android/htc-desire-hd-aahk-output/||HTC Desire HD / AAHK output|