Have you been hearing about all this custom ROM business - Cyanogen, DamageControl, etc and wondering what in the world all those are about?

Or perhaps you already know what those are but are still afraid of trying custom ROMs on your phone because you don't know how to install them or don't want to lose your data and current OS state?

Well, today is your lucky day because in this article from the "I wish somebody showed me how to do this crap when I was getting started" series, I will show you how to

  • easily install a custom ROM but only after you
  • back up your current system and exact phone state so that you can
  • restore to that exact state with a click of a button

What do you have to lose now? Try out a new ROM and go back to your original OS in a matter of 30 minutes.

Sounds like a good deal? Then let's go.

Note: By the way, having written this tutorial, I know it may seem like there is a lot to do here, scaring you away, but in reality there really isn't - I was simply trying to provide as much detail and be as clear as possible, covering all the bases.

I am using an Sprint HTC Hero (CDMA) in this tutorial and in fact this is exactly how I got Android 2.1 on it using the DamageControl ROM, weeks before it was released by Sprint (in fact, it's not even released yet at the time of this writing).

The specific phone used is not important and I listed it just for reference - ROM Manager should work with pretty much every Android phone.

 

Custom ROMs

At first I started an explanation of custom ROMs here, but it quickly outgrew itself and demanded to be in a separate post. Who am I to argue with the creative genius?

Proceed to read the Custom ROMs For Android Explained And Why You Want Them article and then come back here - I'll be waiting.

By the way, if you are wondering, you will most likely have to wipe when upgrading to a custom ROM (of course, we'll do a full backup first) but once you've installed it, any regular updates are usually applied right over the current version and don't require any wipes.

Remember, all your Google contacts sit in the cloud and will be sync'ed right back as soon as you boot the new ROM and log into Google.

 

The Steps

Here are the steps, at a glance. Look the list over and move on to the more detailed explanation of each bullet point.

  1. Root Your Phone
  2. Install ROM Manager App
  3. Back Up
  4. Download The ROM You Want To Try
  5. Flash It
  6. Want To Go Back? Restore It

 

1. Root Your Phone

The first thing you need to do is root your phone. Don't be afraid - we already covered this in the Rooting Explained + Top 5 Benefits Of Rooting Your Phone article a few weeks ago, so go ahead and read that first - I'll wait.

Rooting is usually a 5 minute process, and many guides around the web explain what that process is for your exact phone model and Android version combinations, just Google "YOUR_PHONE_MODEL root".

Now that you have root, let's proceed to the next step.

 

2. Install ROM Manager App

This is the easiest step. Go to the Android Market on your phone and install ROM Manager.

This excellent application handles backing up and restoring, as well as flashing new ROMs, all from an easy user interface. This application requires root, which is why we've first gone with step 1.

Got the app installed? You should see something like this:

[Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore

 

3. Back Up

This part is very easy and in fact I dedicated a whole tutorial just to this subject which you can read if you want more details about the backing up and restoring process.

Done reading the backup tutorial? Now check this out: you don't even have to perform a manual backup - ROM Manager will automatically ask if you want to back up or not in step 5, when you are flashing the new ROM. This is what it will look like:

[Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore

3.1. Flash A Recovery Image

If you read the backup/restore article above, you may have seen that there is a one-time step that was needed before ROM Manager, or any other manager, can install ROMs, back up, restore, or do anything with Nandroid Backup - and that is flashing a recovery image.

Important: unplug the USB cable during this step, as some users are reporting problems flashing recovery while plugged in (thanks DennGir and others).

This recovery image contains a boot loader which replaces your original boot loader.

The boot loader gives you the ability to run Nandroid backup and restore commands outside of the OS.

It also lets you install ROMs but we will not do that today. Since the OS cannot back itself up fully while running, ROM Manager will reboot into this boot loader to perform Nandroid operations.

[Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore

Again, remember: this step needs to be done one time only.

 

4. Download The ROM You Want To Try And Copy It To Your Phone's SD Card

Here is where you need to do a bit of research and find the ROM image you want to put on your phone. If you don't know exactly what you're looking for, again, Google can help you - just search for "YOUR_PHONE_MODEL ROM" and look around.

For instance, if you have a Nexus One, you may want to go with CyanogenMod and if you have a Sprint HTC Hero (CDMA), you will want to check out DamageControl.

If you bought ROM Manager Premium, which I recommend, you would have a "Download ROM" menu enabled right within the app, containing some of the most popular ROMs, so you don't have to look for them online or spend time downloading them on your computer and copying to the phone.

If you choose not to use ROM Manager Premium or if the ROM you want is not included in the default list, then keep reading this section.

Each ROM you find will be based on a specific Android version - make sure to pay attention to that.

DamageControl ROM For The HTC Hero

In my case, I knew that there were not many options for my Sprint HTC Hero and I quickly found that the DamageControl ROM was exactly what I'd been looking for.

It is currently based off Android 2.1 and it's exactly what I had flashed on my phone to come up with this [p]review: Detailed Mega Review Of Android 2.1 On Our HTC Hero – Discover All The New Features (With Lots Of Screenshots).

Download The ROM You Selected

Download the ROM image, which is usually a zip archive, and copy it into the root folder of your SD card.

Important: you do not unzip the .zip file - just copy it as is.

You can do it by

  • attaching the phone with a USB cable and selecting the option of mounting the SD card to be used as a drive on the computer

or

  • unmounting the SD card, physically taking it out of the phone, and inserting into your own card reader

or

  • downloading the ROM straight from the phone browser

Once you've copied the ROM image, you can proceed to flashing it in step 5.

If you purchased ROM Manager Premium for $3.99, in addition to thanking the developer for the awesome job, you've also unlocked a few premium features.

In particular, the Premium version can download ROMs compatible with your phone straight from ROM Manager. Just select "Download ROM" and see which ones are available for your model.

Unfortunately, there is no ROM entered into the app for Sprint HTC Hero at the moment, so you still have to download it manually using the directions in step 4.

 

5. Flash It

The process of installing new firmware or low-level system software in general is called flashing.

We will be flashing the new custom ROM over the stock one that came with your phone.

  • Pop open the ROM Manager and click "Install ROM from SD Card"
  • The ROM you downloaded in step 4 should show up in the list. If it doesn't, make sure you've put it into the root folder of the SD card.
  • Click on the ROM and you should receive a popup inviting you to
    • back up existing ROM (which you should do unless you've already backed up manually) and
    • wipe data and cache, which you should only do if you want to do a clean install, i.e. when upgrading from the stock ROM. Note: this does not wipe your SD card data - it only wipes the phone's internal memory.
  • Follow the rest of the prompts and voila - the ROM is being installed!

Check out these screenshots I took, showing the full process:

[Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore

[Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore

The flashing process should take 5-10 minutes installing everything and then 10-20 minutes during the first boot. Please be patient during this process.

Once the phone boots, you should find yourself in the new ROM.

This is it - end of the road! You've done it! Enjoy your fast and clean phone.

Problem During Flashing?

If after the "Reboot and Install" step, you immediately get a picture of Android with a big exclamation point, most likely it means the ROM image you downloaded was not cryptographically signed by the developer (which happens if they were in a hurry to release or simply don't use encryption).

That's OK - you can fix this by:

  • clicking the exclamation point screen, which goes to the ClockworkMod recovery menu or simply rebooting into recovery manually (that's one of the options in the ROM Manager). Alternatively, you can boot into recovery by holding Power and Home buttons together while powering up your phone
  • selecting the option that says "install zip from sdcard"
  • toggling the "toggle signature verification" option to turn the verification off (it should say "Signature Check: Disabled")
  • giving flashing another try by selecting "choose zip from sdcard" and selecting the right ROM, just like before

I took some screenshots of this process to make this easier to comprehend:

[Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore

 

6. Want To Go Back? Restore It

Alright, you may want to restore the original full backup of your OS that you took in step 3 (or 5). Maybe you forgot something in the original installation or want to go back to stock for another reason - no problem.

Install and load up the ROM Manager app in the custom ROM you flashed (basically, repeating step 2). Now use the "Manage and Restore Backups" menu to find your backup and restore it (including the OS itself and all the apps, settings - everything that you backed up).

After you're done restoring, you'll be back to your original OS as if nothing ever happened (was it just a dream?)

You can read more about the Backup/Restore procedure in our tutorial called [Complete Guide] How To Fully Back Up And Restore Your Android Phone Using Nandroid Backup.

[Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore

 

Did you like this tutorial? Do you have questions? Don't hesitate to comment below.

For more great Android tutorials and news, feel free to follow @AndroidPolice on twitter and subscribe to our RSS feed.