Flashing Custom ROMS to Your Android Device [Tutorial]
One of the features that make the Android OS so popular is the ability to customize your operating system in a huge variety of ways. The mostly-open nature of Android means that there are thousands of developers out there who are creating customized versions of Android that fit every life and style. The Android OS that comes on your phone when you buy it is usually an altered version that the manufacturer and carrier have collaborated on, and installed their own set of icons, themes, colors, wallpapers, and applications. The “Stock Android” OS, on the other hand, is much more pared down. The pure Android experience has no bloatware, and no custom skin on top of it. We’ll explain what all that means in a moment. What’s important is that you’ve picked up your first Android device, and you’ve decided to see what all the hype is about. Don’t worry. Flashing custom ROMS has come a long way, and the experience is now very easy.
This guide contains a lot of information. It can seem daunting, but it really isn’t. Most of this information is for beginners, and as such will cover a lot of terminology that a more experienced user might already know.
Custom ROMS VS Carrier ROMS:
We’re going to discuss the difference between the OS you see on your device, and the OS that comes from various custom ROMS. Custom ROMs, by definition, are customized and in many cases, vastly different from one another. Carrier ROMs, like those installed when you buy your device, come pre-loaded with apps that are required by carrier partners. These are things like NFL Mobile, BlockBuster, carrier apps like VCast (Verizon), game demos, and tons of others. You’ve bought phones/tablets before, so you know that they come loaded with a whole lot of stuff that you’ll never use. Because of contractual obligations, and in order to keep phone prices lower, carriers install these apps to rake in money. The beauty of Android devices, though, is that with a little work you don’t need to keep those apps. On the carrier ROM, those apps cannot be removed. With a custom ROM, they will be gone.
Carrier ROMs also come, in many cases, with a manufacturer skin. A skin is a proprietary overlay that the manufacturer places on top of Android’s UI. The manufacturers uses these to create their own brand and user experience for the consumer. Some of the most popular skins you see are HTC Sense, Samsung TouchWiz, and MotoBlur. These shiny skins might look nice to an average user, and some do offer interesting features, but if you’re worried about overall device performance, these custom skins do tax the phone’s resources and hamper performance. The pre-loaded apps also take up a significant amount of space in your device’s storage.
Custom ROMs, by comparison, come in lots of flavors. Some also have skins or pre-loaded apps. Some are completely stock and devoid of any 3rd party applications or skins. In a moment we’ll run down some of the most popular custom ROMs. The advantages of custom ROMs are also varied. Some custom ROMs include different baseband radios, which can give you faster data connections at the expense of battery life. Custom Kernels can overclock your processor to give you more speed when doing everyday tasks or gaming. Some ROMs come pre-loaded with theme engines that allow you to alter the icon set on your UI. You’ll have to take some time and look at the many ROMs available, then give them a try and see what you think. Don’t worry, though, we’ll show you how to make backups of your carrier’s ROM, which will let you restore the factory settings and look in a matter of seconds.
Finding ROMs:
It’s very easy to find custom ROMs through the many Android communities out there on the web. Two of the largest and most trusted resources for ROMs, themes, troubleshooting, and advice are RootzWiki, and XDA Developer’s Forum. These are sites that are easy to navigate, and are home to thousands of developers who are absolutely bonkers about Android. Here you can find custom ROMs, icon packs, color themes, advice for problems with your device, discussions about the features, as well as industry and product-related news and information. Simply find your device on the page, and take a look at the topics. The “Development” sections have stickied topics that include methods for rooting your device, favorite ROMs, or FAQs.
Many of the most popular custom ROMs also have their own websites. If you know the name of a ROM you want, you can Google it and visit the site for the latest versions, and to see which devices it supports. Some ROMs are only designed for certain devices, like DarkyROM, which is made for Samsung Galaxy devices. Others, like CyanogenMod, support almost 70 devices. There’s no right place to find your ROM, but the resources we’ll give you here are certainly among the best. We’ve tested dozens of Android devices, both phones and tablets, and have also rooted and flashed ROMs to many of them, so we won’t steer you wrong.
Rooting VS Flashing:
These two terms are often used interchangeably, but are not the same thing. Before you start diving into rooting and flashing, it’s important to know the difference between the two. A rooted device does not have to have a custom ROM. In fact, many people only choose to root a device, and prefer not to flash any custom ROMs to it. Let’s take a look at the difference.
Rooting a device means that you are granting yourself “root permission” to the file system. This is from the Linux term, where “root” is your main folder in the directory tree. Root permission is granted through an application called “SuperUser”. SuperUser allows you to access all of your devices files and functions, as well as edit them. It also gives you the final say over what applications are allowed to access your device’s files and features. More importantly, it gives you access to all of the files on your device, including any carrier or manufacturer-installed applications. Many users choose to root and keep the carrier-installed version of Android, but they free up space by removing all the carrier-installed apps. Root access is required to flash custom ROMs, but flashing and rooting are not the same thing.
Flashing a custom ROM means that you are overwriting the OS that currently exists on your device’s Read-Only Memory (ROM). This is done through the use of custom recovery images, which are required to flash custom ROMs. Once you have rooted your device, you will need to install a custom recovery image in order to flash any custom ROMs to your device. Your device comes with a stock recovery image, which allows you to restore it to factory default settings. A custom recovery, by comparison, allows you much greater control.
A custom recovery allows you to backup, restore, and flash custom ROMs. It actually has a huge number of other functions, but if you’re not a power user it’s best to avoid most of these extras. The main functions you will concern yourself with when using a custom recovery are those that relate to backup, restore, wiping data, and installing ROMs. We’ll cover all that in a moment, as well.
Popular ROMs:
There are lots of ROMs to choose from out there. Some are device-specific, while others support a varied number of devices. We can’t possibly cover every ROM out there, but here are a few that are at the top of the heap.
CyanogenMod is far and above the most popular custom ROM available. They have an outstanding development team that puts a ton of effort into making this ROM as smooth as possible, and loaded with some of the best features around, such as theme support, lockscreen gestures, DSP equalizer, and FLAC support. If you really want to customize your UI with different themes, icons, colors, and backgrounds, this is the ROM to check out. CyanogenMod is currently in version 7.1, which is built on Android 2.3.7 Gingerbread. A new version based on Android 4.0 Ice Cream Sandwich is also in the works, but not anywhere near complete.
MIUI:
MIUI (mee-you-eye) is also a very popular ROM, but does not support as many devices as CyanogenMod. MIUI features big shiny icons and a beautiful UI. It has a distinctive look, enhanced notifications, smart dialing, and enhanced apps for music, camera and the gallery.
DarkyRom:
DarkyROM is built for most Samsung Galaxy devices, like the Galaxy S and Galaxy S II. This ROM keeps the popular Samsung TouchWiz UI, but removes the bloatware and adds some custom touches.
As we mentioned, this is far from a complete list, but we wanted to give you some idea of what’s out there. If you’re ready to take the plunge and start rooting and flashing, read on!
Copy your ROM to your SD card:
When you have found a ROM you want to try, you will need to download it and move it to your device’s SD card. You can either download it directly to your device from the device’s browser, or download it to your PC and copy it over. Make sure you copy the file to the root directory of your SD card.
How to Root Your Device:
Every Android device has its own method by which to root it. For most new devices, the process can be quite in-depth and complicated. Once the device has been in the wild for a while, developers learn more about it and find easier ways to root it. Some devices need to be hooked up to a computer, while others can be rooted with downloadable applications. Finding the method for your particular device can be done in a couple of ways. The best way is to visit one of the developer communities we pointed out earlier. RootzWiki or XDA Forums are the best spots around for finding a root method. Simply hit up one of these sites, find your device, and a root method will be a sticky post in the development section. Alternatively, you can go to Google and search for “MY_DEVICE Root” where MY_DEVICE is your device’s model. Follow the instructions given in those guides, and you’ll obtain root access, which is the first step in flashing ROMs.
Flashing Custom ROMs:
Once you have rooted your device, you’ll need a custom recovery in order to flash ROMs. The absolute best custom recovery out there is called ClockworkMod. For a very in-depth discussion on ClockworkMod and all of it features, you can visit this link. There are a few methods by which you can install ClockworkMod on your device. Some are device-specific, but the easiest way to do it is through a program available in the Android Market for rooted users. Open your market and search for ROM Manager, which was created by the developer of ClockworkMod. ROM Manager is an invaluable tool for rooted users. There are both free and premium versions. If you will be flashing custom ROMs regularly, or intend to stay with Android for some time to come, buying the premium version is certainly worth it.
ROM Manager will allow you to install ClockworkMod from the app, as well as create and manage backups and restores you’ve made of previous flashes. This is much easier than managing your ROMs from ClockworkMod recovery.
NOTE:
If your device uses the NVIDIA Tegra 2 CPU, flashing ClockworkMod through ROM Manager only creates a temporary ClockworkMod recovery. In order to flash custom ROMs on a Tegra 2 device, you will also need to download NVFlash to your PC. This will allow you to flash a permanent ClockworkMod recovery to your device with a single click. Google “Download NVFlash”, get the file, and follow the instructions on the screen.
Once you have installed ROM Manager, and used it to flash ClockworkMod recovery, you’re ready to begin testing out some custom ROMs! Don’t pull the trigger just yet, though. First you’ll want to make sure you’re prepared in case you do something wrong and need to restore your device to the previous version of your OS.
Backup:
If there is one thing you must never, ever forget to do it’s to make sure you backup your current ROM before you flash another one! This cannot be stressed enough! From within ROM Manager, you can access the backup/restore menu. Make a full backup of your current ROM before doing anything else. In the event that you get yourself into trouble, you will then be able to restore your device to its current configuration with no harm done. If you don’t back up, you could find yourself with a very expensive paperweight.
For good measure, we also recommend entering ClockworkMod recovery itself and doing a backup from there. ROM Manager is great, but if you are unable to boot your device, you won’t be able to use it to restore your previous ROM. You can, however, backup and restore from within ClockworkMod recovery itself. To access ClockworkMod recovery, enter ROM manager and select the option to “reboot into recovery”. This will power down your device and boot it into ClockworkMod. Alternatively, you can access ClockworkMod when you boot up your device. Doing this is different for every device, though. In most cases you need to hold the Volume Up or Down+ Power buttons while your device is booting. This is true in about 99% of cases. You can Google the exact method for your device with little trouble.
Once you have made a backup of your current ROM, you’re ready for the next step.
Wipe and Reset:
This can seem a bit scary, since you’re going to lose all your settings and saved information. This is a necessary step in flashing a ROM, but it doesn’t need to cause you undue stress. Remember, you’ve backed up all that information, so it can be restored easily if you don’t like the ROM you’re going to flash. Also, all of your contacts are saved to your Google account, as well as any apps you’ve paid for. These will all be restored automatically when you log back into your account. We’ll also give you some useful tools for restoring apps and settings. For now, though, you need to wipe the data and reset the device. You can do this with ROM Manager in one of 2 ways. The easiest is to select the option to “Install ROM from SD Card”. This will prompt you to wipe the device, and then it will install the ROM you’ve chosen.
However, some devices will reboot without the custom ROM installed. If this happens you will need to wipe the data and install the ROM from ClockworkMod recovery itself. To to this with ROM Manager, open the app and select the option to “Reboot into recovery”.
This will boot you into ClockworkMod recovery. From there, you can select the option to “Wipe all data/Factory reset”. This will restore your device to factory settings, and wipe all the user data. It will not erase your SD card or saved images, unless you tell it to. Once that is done, you will also want to wipe the Dalvik cache. You will do this from ClockworkMod recovery as well. Select the “Advanced” option, and then select “Wipe dalvik cache”.
Now that you’ve got your ROM on the SD card, made your backup, and wiped your device, you’re ready to flash!
Flashing your ROM:
From within ClockworkMod recovery, select the option to “Install from SD card”, then “Choose ZIP from SD Card”. This will bring up a list of all the files on the root directory of your device’s SD card. Find the file you downloaded, and select it. Select the “Yes” option when prompted, and wait for the install to finish. Head back to the main menu and select “Reboot”. Your device will reboot with the new ROM installed!
You can also choose to install a ROM through ROM Manager, by opening the app and selecting the option to “Install ROM from SD Card”. This will prompt you to wipe your data, just as in the step above.
Congratulations! You’ve installed your custom ROM, and now you have a solid base to flash future ROMs.
Restoring to Previous ROMs:
Maybe that new ROM isn’t all you hoped it would be, or something didn’t go right when flashing. In this case you can restore the backup you made of your previous ROM, and there’s no harm done. You can do this through ROM Manager using the option to “Manage and Restore Backups”, or through ClockworkMod recovery using the option “Backup and Restore”. From here you can select the backup you made and choose to restore it.
Tips, tricks and useful tools:
Your rooted device grants you much more control, and as such you need appropriate tools to manage that power. Here’s a list of some apps that every rooted user should have.
- ROM Manager: We’ve already covered this app. It allows you to download ROMS, backup, restore, and wipe data.
- Titanium Backup: This tool will allow you to make backups of your devices apps, including carrier apps. You can use this to select and install which apps are restored to your device after you’ve flashed a new ROM.
- Root Explorer: This app is a powerful file manager that allows you to access all of your device’s file, even the protected and root folders. It’s an invaluable tool for managing your files on a rooted device.
- We will stress again, always backup your current ROM before flashing a new one!
- To find ROMS or get help with Android-related problems, visit RootzWiki or XDA. Both are great resources for any issue you come across. If you have a problem, it’s been encountered before, so ask the pros!
- Download the Android SDK. If you’re going to continue customizing your Android experience, it’s worth downloading the Android SDK from Google. This toolkit will give you everything you need to both build Android apps, and to manage an Android device in every way possible. Some root methods also require you to use the ADB shell included in the SDK.










