Android Root Process for HTC Thunderbolt
This article is a compilation of many different articles. I wanted to understand the whole process to ensure nothing bad would happen. I wanted to know what each of the files were for as well as the steps to take to reverse all the changes exactly. I tested this process on two Thunderbolts using Windows 7 x64 Ultimate with Service Pack 1. Enjoy!
Disclaimer: I am not responsible if you brick your phone. Do your research before performing any of the steps below. It is NOT illegal to root your phone, but it will void your warranty.
Besure to check out this forum for any and all help: http://www.xda-developers.com
NOTE: Much of the information from this article was taken from these articles.
http://www.androidpolice.com/2011/03/19/exclusive-how-to-root-the-htc-thunderbolt-and-unlock-its-bootloader/
http://forum.xda-developers.com/showthread.php?t=996616
All the files, but different (don’t use): http://forum.xda-developers.com/showthread.php?t=1005292
One Click root (don’t use for this article): http://www.androidpolice.com/2011/03/23/first-one-click-root-s-off-for-htc-thunderbolt-out-now/
Eng Bootloader: http://www.gotontheinter.net/content/engineering-bootloader-its-not-just-ttuttle-anymore
Read the following topics:
- Benefits of Rooting: http://www.androidpolice.com/2010/04/15/rooting-explained-top-5-benefits-of-rooting-your-android-phone/
- How to Unroot Your Phone: http://forum.xda-developers.com/showthread.php?t=1009423
Other related articles:
- HTC releases source to Thunderbolt Kernel v2.6.32: http://www.androidpolice.com/2011/03/29/htc-releases-thunderbolt-kernel-source-code-let-custom-rom-development-begin/
- Thunderbolt ROMS: http://www.akanatrix.com/index.php/thunderbolt-roms
Phone Changes:
- Set Debugging mode on phone
- Disable fast boot on phone
- Charge battery to 100% on phone
Computer Changes:
- Install Android SDK to get ADB: http://developer.android.com/guide/developing/tools/adb.html
- Update ADB to the latest version, ensure the Thunderbolt drivers are installed correctly: http://www.thunderboltforums.com/forum/htc-thunderbolt-development/315-android-sdk-adb-driver.html
- Plug computer into a power outlet
Terms (used in the modding community, not necessarily in this article):
- RRU - Rom Upgrade Utility
- zipalign - reduce the amount of RAM required to run a .apk (application): http://developer.android.com/guide/developing/tools/zipalign.html
- deodexed - save all resources in an .apk to a .dex file so its easier to modify/theme and requires less RAM, but requires more disk space
- S-OFF - flash memory (NAND) in a phone is unlocked and can be written to, phones by default come S-ON:http://www.addictivetips.com/mobile/what-is-s-off-how-to-gain-it-on-htc-android-phones-with-unrevoked-forever/
Files Required for Rooting:
- RUU PG05IMG_downgrade.zip (ROM used to downgrade the phone initially which allows the engineering bootloader to be installed)
- Exploits.zip (contains busybox, wpthis, psneuter, su, readme.txt, misc.img, and hbooteng.nb0)
- RUU PG05IMG_stock.zip (Stock ROM with the addition of the superuser app preinstalled, it’s flashed from the engineering bootloader)
Other Resources:
- psnueter source code: https://github.com/tmzt/g2root-kmod/blob/master/scotty2/psneuter/psneuter.c
Overview of the Tools:
- adb - Android Debug Bridge which allows programs on a computer interact with the android phone
- psnueter - Changes the ANDROID_PROPERTY_WORKSPACE to allow ADB shell to default to root
- busybox - Contains an md5sum program that ensures the downloaded programs aren’t corrupt
My steps were pulled from this website with additional comments added in for clarity. It’s a great article:
http://www.androidpolice.com/2011/03/19/exclusive-how-to-root-the-htc-thunderbolt-and-unlock-its-bootloader/
Make sure ADB can be run from command prompt.
Add files to device and then set the permissions:
adb push psneuter /data/local/ adb push busybox /data/local/ adb push misc.img /data/local/ adb shell chmod 777 /data/local/psneuter adb shell chmod 777 /data/local/busybox
Open shell and remove the environment check:
adb shell /data/local/psneuter
Open shell as root and verify file is not corrupt (should output c88dd947eb3b36eec90503a3525ae0de):
adb shell /data/local/busybox md5sum /data/local/misc.img
Write misc.img to the device and exit the shell:
dd if=/data/local/misc.img of=/dev/block/mmcblk0p17 exit
Rename PG05IMG_downgrade.zip to PG05IMG.zip and place on your SD card. This command will reboot your phone to the boot loader screen:
adb reboot bootloader
Use the volume up and down buttons to ensure bootloader is selected and then press power once.
When asked to “start update”, click the volume up button for “Yes”. The phone will reboot and then flash. The process will take a while. Don’t turn off the power!
When the screen shows “Update Complete!”, press the Power button to reboot.
When the phone boots, you will see the same wizard so when you first bought your phone. Quickly skip through the wizard and then enable Disk drive mode. Delete the PG05IMG.zip from your SD card. Enable debugging on the device again. Unplug and then plug back in the phone to enable debugging.
Add the files to the device again and set the permissions:
adb push psneuter /data/local/ adb push busybox /data/local/ adb push wpthis /data/local/ adb shell chmod 777 /data/local/psneuter adb shell chmod 777 /data/local/busybox adb shell chmod 777 /data/local/wpthis
Open shell and remove the environment check:
adb shell /data/local/psneuter
Open shell as root and unlock the eMMC:
adb shell /data/local/wpthis exit
Copy the engineering bootloader to the phone:
adb push hbooteng.nb0 /data/local/
Open shell as root and verify the file is not corrupt (output should be 6991368ee2deaf182048a3ed9d3c0fcb):
adb shell /data/local/busybox md5sum /data/local/hbooteng.nb0
IMPORTANT: You can brick your phone if these steps are not performed correctly. Write the bootloader and then verify.
dd if=/data/local/hbooteng.nb0 of=/dev/block/mmcblk0p18 /data/local/busybox md5sum /dev/block/mmcblk0p18
ENSURE THE CHECKSUM IS: 6991368ee2deaf182048a3ed9d3c0fcb
IF IT IS NOT, DO NOT REBOOT YOUR PHONE.
If the checksum IS correct, reboot your phone.
When the phone starts up, enable Disk mode, rename PG05IMG_stock.zip to PG05IMG.zip and place on your SD card. This command will reboot your phone to the boot loader screen:
adb reboot bootloader
Use the volume up and down buttons to ensure bootloader is selected and then press power once.
When asked to “start update”, click the volume up button for “Yes”. The phone will reboot and then flash. The process will take a while. Don’t turn off the power!
When the screen shows “Update Complete”, press the Power button to reboot.
When the phone boots, you will see the same wizard so when you first bought your phone. Set up your phone for use!
Enable Disk drive mode. Delete the PG05IMG.zip from your SD card.
You are now fully rooted.