Creating more room for apps on the HTC Desire

A little while ago, I wrote about how I still love my HTC Desire phone. The hardware is excellent, and still on par with modern day mid-range Android handsets. It does have one tragic design flaw though. With Android 2.3 and HTC’s Sense skin installed, there’s only about 70 MB of internal phone storage left to install apps into. And with apps getting bigger and bigger, this is simply not enough.

The “Apps to SD” feature introduced in “Froyo” helps, but it doesn’t move all parts of the apps to the SD card. I must have spent hours moving apps around and cleaning caches, but I kept having to remove apps I really liked, just to free up space. This weekend, I decided I’d try to find a real long-term solution by fully hacking my phone. I’d been putting that off for months because I basically run half my business from this phone, but it needed to be done. And it worked.

There are tons of detailed tutorials out there about hacking the Desire, so it makes no sense for me to write another one. Instead I’ll try to list the “ingredients” I used. In essence, there are six steps to take. Please note that while these things worked for me, your mileage may vary.

1. Rooting your phone

The first thing you need to do (if you haven’t already) is to “root” your phone. This simply means getting full access to your devices operating system, by making yourself “administrator”. I used Unrevoked, and the process turned out to be really easy.

2. Flashing a custom recovery image

This sounds pretty intimidating, but like the previous step, it’s actually really straightforward. In fact, Unrevoked does this too, so once step one is complete, you’ll be able to hold down the ‘volume down’ button while turning on your phone to boot into “ClockworkMod”. This little piece of software allows you to do all sorts of advanced stuff with your phone, like Flashing custom ROMs.

ClockworkMod has an Android app counterpart called ROM Manager, that lets you initiate most of these actions from within Android. I highly recommend installing it once you’ve used Unrevoked.

3. Creating backups

I wanted to be absolutely sure that I could restore my phone to it’s crippled, but functional state if anything went wrong, so I used ROM Manager to backup the existing ROM (essentially your entire OS and data). I then powered down the phone, took out the SD card, and created an image file copy of it using Linux’s ‘dd’ command.

This way I would be able to first restore the SD card, and then use ClockworkMod to restore the ROM backup stored on it.

4. Partitioning the SD card

Almost all custom ROMs have some sort of mechanism that puts installed apps in a Linux (EXT3 or EXT4 filesystem, cards are usually just FAT32) partition on the SD card if such a partition is available. My laptop runs Linux, so I’m lucky enough to be able to do this straight from my OS. However, ClockworkMod can do this too, and it’s probably the easiest way if you’re on Windows. The option is in the “advanced” menu. Partitioning does completely wipe the card, so please back up your files before you do this.

5. Flash a custom ROM with A2SD support

There are tons of custom ROMs out there for the Desire, and it seems that everyone favors a different one. I decided on “Oxygen” because it’s based directly on Google’s Android code (version 2.3, Gingerbread), and is very efficient and lightweight. There are ROMs that have HTC’s Sense, but I really wanted to free as much room as possible.

Installing the Oxygen ROM through ClockworkMod turned out to be super simple, and it took only minutes for my phone to boot into plain, “senseless” Gingerbread. At this point however, I noticed that there was still only 170 MB available for apps and data. I thought I’d completed all the steps, but it turns out there’s one more.

6. Flashing a custom HBOOT

A HBOOT is like the BIOS on your PC, and from what I gather it controls the boundaries between system and data storage in the phone’s internal memory. I downloaded the Oxygen-specific HBOOT image from AlphaRev, and installed it using the method described right above the FAQ (which again uses ClockworkMod).

I’m pretty sure steps five and six should ideally be reversed, but I’ve not seen any negative effects from completing them in this order. When I rebooted the phone, I found there was over 250 MB of space available (out of 330), and the EXT3 partition on my SD card was used for apps too. I installed all the apps I previously had and still had over 180 MB left.

I’s nice to finally be able to add new apps to my phone again, and I think that with Oxygen installed, my Desire can still compete against all but the highest end smartphones. It’s very responsive and has plenty of room for apps. I still love the 3.7″ AMOLED screen, and the phone’s “pocketability”. I think I’ll keep using it for a while, and perhaps I’ll try a Jelly Bean ROM once they’ve matured.


  1. I have a question. Is warranty still valid if I flash the ROM?


    Comment by Orto — November 9, 2012 @ 3:08 pm

    • Good question. I don’t think so, but this may vary between phone manufacturers or even network operators.

      Comment by Roy — November 11, 2012 @ 1:38 pm

  2. Have a look at Titanium Backup for managing your apps and data if you want to try out different custom roms. Its a real time saver.

    Comment by Edward — December 11, 2012 @ 11:55 am

  3. How hard is it to “brick” your phone following a process like this? I have an HTC Merge I’ve been thinking about trying to root for various reasons, but have been afraid to.

    Comment by OffGridExchange — December 12, 2012 @ 9:17 pm

    • It is quite possible to completely mess up the phone’s software with this, but once you have ClockworkMod in place, you’ll have plenty of tools to recover. Main thing is to select files (ROM, etc) that match your phone’s model number/code.

      Comment by Roy — December 14, 2012 @ 6:38 pm

  4. Sir, I have used linux and like it more than windows and familiar with its installation,file system, etc

    sir i dont want to trust 3rd party softwares and my mobile brand is KARBONN and i dont think any 3rd party developers are aware of this brand which provide 1.2Ghz dual core cpu, 4.5 inch display,1800mAh battery, android 4.0.4, 512 RAM mobiles at the price cheaper than HTC EXPLORER………..

    But Sir, i want to backup and install another Android 4.2 htc rom etc on my mobile like we install linux…….. Due to the fact that after reading many posts i have found that even developers write about android backup and rom installation for windows only in very dangerous way that mobile may become brick….

    Sir, can you reply me the method or link to info about how to install and backup and manage android like linux……..

    google did not developed linux…. and as per software capability, android cant destroy linux behind it until operated correctly instead of waiting from clockwork team to pay their kind attention to KARBONN MOBILES OF INDIAN ORIGIN.

    Comment by sirji — December 16, 2012 @ 1:20 pm

  5. Thanks for the great guide Roy!

    There is also an excellent root guide avaible in German:

    Comment by Marco — December 20, 2012 @ 12:27 pm

  6. thanks for the plugin WP-Cumulus ultimately beautify my blog

    Comment by jasmani — December 24, 2012 @ 8:26 pm

  7. Dear Sir,

    Your step 2 is called “Flashing a custom recovery image”

    Unfortunately you then do not really say what “flashing a custom recovery image” is good for?

    Comment by Richard — January 25, 2013 @ 1:23 am

    • Nevermind, you actually do explain. I was distracted by the fact that Unrevoked apparently does this step automatically.

      Why do you actually mention this as a seperate step?

      Comment by Richard — January 25, 2013 @ 1:25 am

  8. Hello Roy,

    As I’m still using my old HTC Desire and I am also constantly running out of space, your story triggered my to to install a custom rom on this phone. I first tried Oxygen. Looked good, but to my surprise Oxygen does not allow you to use an internet connection via 3G (anyway the version I have tried; only internet when I’m on wifi).
    Once you have rooted your device, it’s easy to swap to another rom: MildWild CM-8.0 JG Stable. Until now this rom works as a charm. I have a new mobile!

    Ik zie dat je nog steeds lekker bezig bent (= see you’re still doing fine).

    Comment by Arie — June 15, 2013 @ 1:07 pm

    • Hi there Arie. Long time no see. How’s life?

      There are tons of other – and newer – ROMs out there, and trying them can be fun. I need my Desire now, since my main phone is in repair, but I’m thinking of trying an Android 4.2 ROM when my Note gets back. Just for the fun of it.

      Comment by Roy — June 19, 2013 @ 9:28 am