I have been asked by a few friends to document how I did this. All the information is derived from elsewhere and its currency may be limited. Trying to root and flash phones is potentially dangerous. You need to take your time and consider what you are doing carefully. If you break your phone, you own the pieces. This worked for me, but I can make no guarantees. You get the idea.
Read the whole article before you start please.
The HTC Desire is a lovely phone, but it has two pretty annoying flaws. First of all the battery life isn’t great, but that’s not what this article is about, and secondly, the internal memory is very limited. I thought when I got the phone that Froyo would save me because it had apps2sd. Apps2sd allows you to move applications from the internal memory to the SD card, but it has some serious limitations:
- apps with widgets and some other bits won’t work properly from SD
- many apps only partially move to SD
- some huge apps won’t move at all (I’m looking at you Google).
The ROM images I was getting, from Google to HTC to O2 were out of date, and they clearly didn’t even care about fixing some significant issues (like the broken authentication in the HTC Peep program). This wouldn’t matter because you could install a decent twitter client if you had the memory… oh… you get the idea. I was rapidly having to remove apps hand over fist with every upgrade, and my Daughter was complaining about their absence. So I decided to sort it out.
Some ROM images have the rather different data2sd. This allows you to treat part of your SD card as the internal memory of the phone. This makes a crucial difference, no messing about partially moving to “SD”, but allowing a large amount of memory to be treated as internal.
Step Zero: You will need
- This process will take some time, during which you won’t really be able to use your phone. Make sure you have time. If it works you will have to do some work setting some things back up, it will to some extent be like having a new phone; some work can be done to minimise this. See below.
- For this to work you will need a half decent SD card. Mine is a class 6, 8G card. The class information is written in the card in a number with a circle on it, and has to do with the speed of the card. Class 2 will apparently be painful. Class 4 is apparently fine. But I already had class 6. Get a decent card.
- Some means of mounting the card on your PC, usually an SD to micro SD adapter.
- Possibly a blank CD, and some spare Hard Disc space for backups.
Step One: Backup Your Phone…. Really
Even if this all works it will be like having a new phone to some extent, so expect to do some setup again. If you don’t have time, don’t start. Backup your phone. I had Backup PRO which I used to backup everything. I did this to the SD card this time, but actually, I should have done it online instead (or as well). I’ll explain why later. Backup PRO wasn’t free, but it was cheap and has been more than worth it for me. I’ve used it several times.
Now backup your SD card. Either mount it as a drive or take it out of the phone and put it in your adapter or whatever. Copy everything to your PC as files (in the past I’ve used dd, but this is not needed).
Step Two: Root Your Phone
At some points in the past this has been very tricky, but this was easy this time. I went to the Unrevoked website, and downloaded the software to flash the phone. Follow the instructions carefully and read all the guidance. Click on the Desire, and your OS, and download what’s needed (some extra drivers for Windows please note). I was using Debian GNU/Linux at the time.
Turn on “USB Debugging” (Menu >> Settings >> Applications >> Development) on the phone, and then plug the phone in (leave it as charge only when it prompts you). Run the software, wait, and in a few minutes your phone should reboot with ClockworkMod and root access. Note some people suggest you need to run the program on your PC as root, I did need to do so.
Step Three: Check you can access recover mode
For some reason I couldn’t do this with the volume buttons on power on, so I did the following. Power off the phone. Hold the “back” (hardware button) down. Now press power on. You will get to the Bootloader screen. By using the power button you can run the Bootloader. This brings another menu and (after some patience) allows you to move up and down with the volume buttons until you pick “Recovery”. Now press the power button again. When the phone reboots it will be into recovery mode. Peruse the options, see that you can navigate with the optical trackball and the back button.
Step Four: Possibly install a ROM manager
Now you can pick an alternative ROM of your choice. But this article following on below is specific to the Supernova ROM.
I installed ROM Manager (and it’s cheap but not free upgrade) to allow me to download ROMs and flash them, and I flashed Cyanogen… but I didn’t like it. I did it for old time’s sake and much as I tried to bring myself to like it I found I missed the HTC Sense stuff (that surprised me). You can experiment with all of this. I strongly recommend you opt to wipe user data on a major ROM change, the phone will probably hang if you don’t when you reboot, and you’ll have to get into recovery mode anyway and do it there.
Step Five: Get the ROM files
The ROM I went for was Supernova since essentially it’s a good, HTC Sense oriented, Gingerbread based ROM with the data2sd extra. In other words, you get newer Android goodies with much the same user experience, but don’t have to worry so much about the memory. You need to sign up to the website and then go to the download links and get the ROM and data2sd installer. Copy them to your hard disc for now.
Step Six: Prepare your SD card
For the data2sd to work, you need to prepare your SD card with a FAT32 partition (for general use) followed by an ext4 partition (for use as internal memory). Don’t panic if you’re not a Linux user. There is a way to do this for you.
In Debian, I installed gparted. I then put the SD card in its adapter and in the machine. The machine may mount it automatically… make sure you unmount it before proceeding. Run gparted and follow on below.
If you are using another OS, get the GParted live CD.
Follow these instructions carefully.
Make sure the GParted is accessing the correct device in the pull down before you start, make sure the disc space in front of you looks correct. YOU DO NOT WANT TO ACCIDENTALLY REPARTITION YOUR COMPUTER’S HARD DISC. TAKE YOUR TIME. Personally I went for about 7000 MB on FAT32 and the remainder for my ext4 partition.
Get out of GParted, back into your regular environment (close GParted, reboot or whatever). Now copy your SD card backup (remember that, right?) back onto the card. Finally copy the two ZIP files from the Supernova website (the ROM and data2sd installer) into the root of the SD card. Dismount the card and put it in your phone.
Step Seven: Install the ROM and data2sd bits
I recommend you read and follow the official instructions carefully from here in. Note I didn’t bother with the radio code because I was confident it was already very recent. Follow the instructions very carefully to be sure the data2sd will work correctly… note there are a few very specific things you must do and must not do in between boots.. Basically you need to use reovey mode to do a factory reset, navigate to the ROM ZIP and install, reboot, change a few settings, back to recovery, navigate to the data2sd ZIP, install, reboot.
Step Eight: Restore as needed
You should now have loads of space in internal memory. Check in Menu >> Settings >> Applications >> Storage.
I then put in my Google credentials and restored everything after downloading Backup PRO again. Because my backup was on the SD and it was copying to SD, it was slow. I recommend using the online option. Be patient, if you are restoring call logs and SMS messages it will take time, do not navigate away. Wait for it to finish and immediately restart. Think twice about copying “settings”, I always worry it will cause the newer ROM to cease. Your mileage may vary.