If you own an Android device, or for that matter visit any Android-related news site then you will have heard about ROMs. Though a lot of people catch onto what ROMs are, for some people it’s not such an easy thing to get your head around. If you aren’t quite sure what a ROM is, hopefully I will clear things up for you today.
First I should explain what a ROM is. The term ROM is misused, and a pseudonym. Up until recently, ROM’s were storage chips consisting of Read-Only-Memory. Ever played Gameboy games? They were ROM’s. Sometimes there was a separate area in the cartridge where you would save games to, but the game itself was Read-Only. You couldn’t modify it. The term which is closer to being correct with reference to Android, is Firmware. You can easily replace it all, if you choose to.
This board has a few ROM chips, one of which tells the device how to boot the Android software (Firmware)
When people talk about installing ROM’s on their devices, they are referring to erasing/overwriting old Android software/system files, and replacing them with new ones to alter the behaviour of Android and the device. If you’ve ever reinstalled your computers operating system (Windows 7, OSX, Linux), this is pretty much the same procedure. Wipe the disk or ‘memory’, then give the computer some new software for it to boot into.
Carbon Glass Theme for ICS
A custom ROM is one that has undergone any modification from being a pure distribution of Android. Google make the Android source code available for anyone to play around with, and people take this code and alter it for themselves. Whether to add features they come up with, or to redistribute it with fun tweaks and additions. So a custom ROM can range in definition from some custom code modifications to make Android run better on a device, all the way to changing the homescreen, background services, and default software.
Many software experts collaborate together in communities to build the fastest or most feature filled ROM’s. The most popular today are CyanogenMod (which supports over 70 devices!), AOKP (a lightweight ROM with plenty of customisation options), and Android Revolution, a heavyweight ROM which often focusses on looking great. Just because these Android builds are made by ‘ordinary people’ and not highly paid developers at HTC or Samsung doesn’t mean they are full of bugs or risky to use. In most cases the software built by communities is ten times better. Release cycles are much shorter, fun features can be put in, and anyone can contribute an idea to the development.
I like to use AOKP myself, and in the screenshot below is an example of how much they let you customise things. My Navbar, Clock, and battery-charge-level bar are neon-green. Also note that my WiFI Signal is measured by percentage, and as well as the charge meter running along the top of the nav-bar, I have a circular meter in the bottom right too.
If you aren’t satisfied with your current software from HTC or Samsung, take a look at these websites. These are three of the most popular ROM’s in existence today.
We have loads of rooting articles for you to take a look at here, covering the rooting process and ROMs across a range of devices.
What ROM;s have you tried? Any favorites?
Like this post? Share it!
There can not be any better explanation of Custom ROM and you have explained everything just perfect. Thanks for this detailed post, you guys rcok
Very good explanation. However, it would be much better if you could provide some link for tried and tested ways for installing Roms on different devices.
There are various guides for rooting and installing ROMs on devices across our site :) http://www.androidauthority.com/tag/rom/ and http://www.androidauthority.com/root-android/
How dare you forget to mention MIUI?
The aim of this post was to explain what a custom ROM is, and AOKP and CM9 are the two most prominent examples today. If it was a line-up of ROMs then yes I would have mentioned MIUI.
Thanks for the useful information, I am new to android hacking. I am using CM7 on O2X as of now.I have few queries if you could answer, I know they may be very modest, but still they are unclear to me if you could help –
What is the difference between ROM/ Kernel/ Baseband?
If I apply a custom ROM will it change Kernel and Baseband too?
I did a nandroid backup before installing a custom ROM, but when I restore it, it doesn’t work the screen keep on flashing and nothing happens. Can you suggest something here?
Thanks for reading!
A ROM is the overall collection of software which contains everything Android needs (and often more), including the kernel, drivers, applications and so forth.
The kernel is the system command processor, a program that sits as a bridge negotiating application and hardware information, transfers, access etc. For example it is the Kernel that detects a memory card being plugged in and then alerts a corresponding application. If the application chooses to use the SD card, the kernel is given further instructions to conduct at the hardware level.
The ROM will almost 100% change the Kernel, replacing the factory-released one with the CM7 one for example. It doesn’t usually change Baseband but I am not too sure on that.
I have had that problem and it was a corrupted nandroid, happens occasionally. After a little struggle I reinstalled the original ROM the manufacturer (HTC in my case) released. It was a little tricky to get right, but I did get it and afterwards flashing a new ROM worked fine.
Hope this of help to you, again – thanks for reading.
thank you so much..
This is one clear explanation i’ve seen in a website after months…
I have recently upgraded my galaxy s2 to 4.1.2 jelly belly cyanogenMod version 10-20121031-NIGHTLI9100G.
i am trying to install whatsapp and i get an warning ” CUSTOM ROM INSTALLED… THIS PROGRAM MAY NOT FUNCTION PROPERLY” and the application is not installed…… Can u suggest a way where i can install such application.
So, does a custom ROM allow me to get rid of the pre-installed cr-apps on the phone, ie Google Search, Latitude, Nascar Places, Peep, etc?
Helped me a lot, thanks…
Great explanation, thanks!
Best explanation, thanks!…. Where can I get a Custom ROM for HTC Touch Pro 1 in order to change it to Android?
Thanks for the info