The whole process consists of four parts.
- Root the phone to gain root access
- Preparing the SD card
- Choose a custom ROM image and burn it into flash
- Run the A2SD script
Rooting the phone
It is of moderate difficulty. There are a few software tools that we can choose to perform the task, and it is possible to combine different tools together to do it. You should get a microSD card reader too (for copying files from PC to SD card).
Before rooting the phone, we need to set S-OFF. S-OFF is security off. It is a HTC technique to check the validity of their firmware. Since we are modifying the firmware, we need to set the phone to S-OFF.
The preparation steps:
- Enable USB debug on the phone
- Download HTC Sync and install it, after that, uninstall HTC Sync. This leaves the drivers in the Windows that is essential for working with the phone in Windows
- Download and install HBoot driver
- Choose the recovery image, you can choose Revolutionary Recovery or 4Ext Recovery. For HTC Desire GSM model, the 4Ext Recovery image can be downloaded from (Desire GSM)
- Download the adb tools from [FAQ] ADB and FASTBOOT for Windows
- Download the recovery tool from Revolutionary page
- Download the root file, and copy it to SD card. (You may need to remove the SD card from phone, and put it into card reader). The root file i use is Superuser-3.0.7-efgh-signed.zip
The S-Off steps:
1) unzip and run the recovery tool, you can choose not to install revolutionary recovery. After that, your phone is S-OFF.
You check that by booting into HBoot (Turn off the phone, then hold volume down and power button together, until you see the HBoot screen), you should see a pink revolutionary label above your HBoot image.
The adding custom recovery image steps:
1) Boot into Fastboot
2) Connect PC to phone via USB, you see "Fastboot USB" on your phone.
3) Open command prompt box and issue
"fastboot flash recovery c:\your recovery image filename"
After that, you have a S-OFF phone with custom recovery image.
The Rooting steps:
1) Boot into HBoot, choose recovery from the menu.
2) In recovery menu, choose flash zip from SD card.
3) Choose the root file that you copy to phone's SD card
4) Wait till it is finished, then choose reboot
Now the phone is rooted!
Preparing the SD card
In order to overcome HTC Desire's internal memory limitation (512MB internal flash memory), you will setup new Android to use SD card as its primary app and cache storage. This way you can install more apps than it is possible with the internal memory. The setup is done by A2SD script which you will use when installing new Android.
Firstly, you boot your rooted phone to 4Ext Recovery. Then you go to select "Partition the SD card". I have a 2GB SD card, so i setup a 1GB sd-ext partition and format it with ext4 file system. I skip the swap partition. After that you reboot your phone, go to 4Ext Recovery again, and choose wipe data and cache.
Secondly, take out the SD card, put it to card reader, and copy the custom ROM file to the SD card.
Finally, put the SD card back into the phone, and reboot your phone, go to 4Ext Recovery again.
Installing the Custom ROM
This custom ROM zip file shall contain the JellyBean Android OS. In 4Ext Recovery, choose Install Zip from SD card and select the custom ROM file. Once the installation is finished, restart the phone. Let it boot up normally. If you choose CyanogenMod custom ROM, you will see the CyanogenMod spinning for around 10 minutes.
After that, when the boot up process is done, you are in the new JellyBean Android!
A2SD script
Open the Terminal Emulator app, and you will have to activate A2SD by running the following commands.
# su
grant root access to terminal emulator
# a2sd install
For CyanogenMod, a2sd will ask you three questions, answer with Y, N, Y.
After you run the A2SD script, the phone will be restarting. The A2SD will now copy existing apps and cache to your SD card, and freeing space from phone's internal memory. After phone reboot, you have a new JellyBean with the power of A2SD script.