This post has been updated to CyanogenMod 7. Not much has changed.
Okay, so I’ve had my HTC Desire since April 2010 now and it’s become kind of sluggish since then. I’ve always hated the HTC Sense UI and also couldn’t stand the fact that HTC would delay their updates so long. Although they brought 2.2 very fast when compared to other vendors, I have to say.
So I decided to root my Desire and flash a custom ROM on it, namely CyanogenMod 7. So here’s a quick tutorial.
Benefits of all that include:
– Better control of Android system updates through the ROM
– No bloated UI like HTC Sense
– Root access for applications that do more than others do
– It’s just cool to have a non-stock Android phone
A few precautions:
– Rooting is a fairly safe procedure, but flashing the Boot ROM or the phone’s ROM isn’t. Be alarmed. I don’t take responsibility for anything that goes wrong.
– Fully charge your phone! If your battery dies during flashing the Boot ROM, I can’t promise that the phone will work at all.
– Make backups, make backups, make backups! If anything goes wrong, you can go back to the original state of the phone.
Rooting the Phone
The first step to doing anything with the phone consists in rooting the device. Luckily, this is easy as hell with Unrevoked3. It works for many of the HTC phones, including the Desire. Rooting is as simple as downloading the software (I did it on OS X), connecting the phone by USB and running the Unrevoked app. It will guide you through everything.
For some people, who get a “firmware too new” error doing this, you need to reset your phone to factory defaults. If you want to backup your data, you need to do this with some backup software on the Android Market, such as MyBackup
The phone then will be rooted, turn itself on and off a few times, and once it’s done, you can enter your PIN as usual. I don’t know whether it’s normal that the phone reboots more than one time during this process or not, but it worked anyway.
Once the phone is rooted, there will be an app called “superuser” or something like that. So far, so good.
Installing ROM Manager and ClockworkMod
Installing ROMs is easy as hell, believe me. Go to the Android Market and look for “ROM Manager”. Install it and open it. The first time you open it, it will ask for root privileges. Allow it to run as superuser, that’s fine.
The first options you will see are for installing ClockworkMod Recovery, a brilliant tool that sits in your phone’s bootloader and allows you to make backups of your current phone’s state. Install ClockworkMod by using the option in ROM Manager. It will turn off your phone and place ClockworkMod into the Boot-ROM.
Making a Backup
Once installed, you should verify that ClockworkMod is working. Go to ROM Manager again and select the option to perform a complete system backup. Important: You should have enough space on your SD card free, at least around 600-700MB. When you start the backup, the phone will reboot into the fancy Boot ROM and perform the backup automatically. This takes a few minutes, give it time.
Make this backup! Otherwise you can’t go back if you’ve screwed up during the installation of another ROM. The backup will contain all your applications and settings, it’s actually the whole operating system.
If you don’t have your contacts stored with Google, you should backup them somewhere else. Note that your installed applications are normally saved with Google, too.
Installing Cyanogen
Now, that’s actually the easiest part. Go to ROM Manager and select “Download ROM”. Navigate to CyanogenMod and select the newest version (currently 7). You can also use any other ROM, but I don’t know anything about them.
ROM Manager will ask you if you want to “wipe data and cache”. Now, here’s the tricky part: I didn’t do this at first and my phone wouldn’t boot into Cyanogen at all, it would just hang in an endless boot loop. So to be on the safe side — and when switching ROMs as a general rule — wipe the data and cache.
If you wipe it, this will mean you will lose all your settings and apps. You’ve made the backup before, right? If not, you are asked if you want to do one before flashing the ROM anyway.
At some point you will be asked if you want to install the Google Apps. Do that, it will include the newest versions of Google Maps and Gmail, et cetera.
Now let the phone download the ROM and reboot to install it. Once it’s done, it will boot into the new CyanogenMod ROM. The first boot might take some time, up to 5 minutes. Give it a bit. If the boot loops (i.e. the animation starts spinning again and again), there’s been a problem. If not, congratulations, you’ve flashed your phone.
You will find some new applications, including Spare Parts and Dev Tools, which come in handy sometimes. In Dev Tools, there’s an option for “Bad Behavior”. There you can “crash the main app thread” if something is buggy. Worked for me every time.
Stuff to do with the new System
You will notice a few differences. The launcher has changed, and there are some applications lost. I’d suggest you to install Dialer One as a replacement for the default dialer. I also like Launcher Pro instead of the ADW Launcher that comes with Cyanogen. It’s a personal thing.
Recovering the Backup
Okay, so if you’ve screwed up somewhere, don’t panic. Hold the “Standby” and “Back” button until the phone boots into the Boot ROM. Now use the volume keys to navigate to “Recovery”, and hit the Standby button once to confirm. Now in Recovery, you can actually use the optical pad thing at the bottom of the device to select options. Go through the menu to recover using one of the backups you made. Wait for the recovery to finish loading and unpacking all the files. Then the phone restarts and everything is as it was before. Sweet.
#1 by 2nologin on June 10, 2011 - 1:32 pm
Oh thank you so much for this guide…
But there is one thing I am concerned about. Is there any hardware version prerequisite? Like radio version and firmware version?
I will be getting this phone in about a month. Yeah, so I want to know everything about this phone before I buy.
Please reply.
Thank You.
#2 by Werner on June 10, 2011 - 5:42 pm
Hi! I don’t think there are any restrictions for baseband or radio versions, at least I didn’t have any issues with those. Any radio with version 5.x should work. There’s another detailed guide from the Cyanogen Wiki here.
#3 by 2nologin on June 10, 2011 - 5:44 pm
Thanks for the link and quick response.
#4 by Werner on June 10, 2011 - 5:48 pm
Not a thing! If you have any problems, feel free to ask!
#5 by Isak Fredriksen Nyhus on July 25, 2011 - 12:47 am
Thank you so much, my phone was suck in the endless boot thing, and i thought i had broken it, so thank you again, you made my day
)
#6 by nicolas p-g. on September 19, 2011 - 11:15 am
Hello there,
this is the best and most readable tuto I have seen about “how to put Cyanogenmod onto a HTC Desire”…
one thing for people who got an error message while using unrEVOked “firmware too new”, like I had.
Before using unrevoked, you have to reset your phone to factory default (prior to this, you can save all your message/SMS/MMS/call log/phone contact/home settings/email account with an app from Android Market, like MyBackup).
#7 by Werner on September 19, 2011 - 11:21 am
Great, I will add it to the tutorial! Thanks for the info!