Do terms like ‘Android ROM’ or ‘iOS firmware’ confuse you? Is your understanding of ‘flashing’ limited to acts of exhibitionism? Do you feel left out or clueless when your friends talk about flashing the latest custom ROM or IPSW to their Android device or iPhone? In what follows, we will explain all about firmware and ROMs – including stock ROMs and custom ROMs – and elaborate on what is meant by flashing them to your phone. We will also take a look at and provide suggestions and sources to find some of the popular custom ROMs, in order to help you choose the right one for your device.
For the sake of convenience, we will split this guide into the following sections:
- Technical Details
- The very basics
- Technical definition of ROM
- What is firmware?
- Mobile Operating Systems
- ROM as the operating system
- Types of ROMs
- Stock vs. Custom ROMs
- Advantages & disadvantages of stock ROMs
- Advantages & disadvantages of custom ROMs
- Making the choice
- Choosing the right custom ROM
This guide is going to be very detailed and many of you might not need to read all of it. However, we will still be starting from the very basics for those of us who are entirely new to the smartphone world and do not have any idea on how things go in it. Feel free to skip the sections that you already know about.
While most of the concepts in this guide will apply to all past, present and upcoming smartphones and tablets, we will be focusing in particular on the application of these concepts to Android, Windows Phone 7 and Apple iOS devices.
1 – Technical Details
The Very Basics
Let’s start off with the core concepts. As most of us already know, computers require certain system software called an operating system – or OS in short – to operate. Some widely used examples of desktop, laptop & server operating systems are Windows, Mac OS X and Linux, while popular mobile operating systems include Android, Apple iOS, Windows Phone 7, HP/Palm Web OS, BlackBerry OS etc. Most modern consumer electronics such as digital TVs, microwave ovens, set-top boxes etc. also need operating systems to function but usually, that only involves loading the operating system and running it in a predefined manner. That brings us to ROM.
Technical Definition of ROM
ROM stands for Read-Only Memory and technically speaking, it refers to the internal storage of a device, which is supposed to contain the operating system instructions that needn’t be modified at all during the device’s normal operation. For this reason, such instructions are stored in read-only memory – much like on a non-rewriteable CD or DVD – to make sure no changes are made to them that could possibly make the device malfunction. This is in contrast with hard disk drives, solid state drives or regular flash storage devices used by personal computers that allow full read/write access even to the storage area that contains the operating system files.
What is Firmware
The read-only operating systems that we just discussed above are also called ‘firmware’, as they stay firmly in place without modification access to the users of the device. Modification of firmware is still however possible, just not under normal usage. Many devices require specialized hardware to be used for the purpose while other devices have the storage set as read-only through software protection only, which can be removed or overridden without the need for any specialized hardware, just by using software written for the purpose, often but not always requiring connection to a computer.
Thus, the terms ‘operating system’ and ‘firmware’ both refer to the same thing and can be used interchangeably when applied to such devices.
The ROM memory used in smartphones and tablets etc. is often same as flash memory found in SD cards and USB flash drives, simply optimized for better speed and performance while running the operating system. As explained above, it is read-only under normal usage and requires a special procedure for any modifications to be made to its contents. The procedure of modifying or replacing the contents of such flash memory is known as flashing. Thus, in layman’s terms, flashing is essentially the same as installing or modifying the firmware of a device that is stored on its protected flash memory.
Now that we have an understanding of the technical concepts, let’s proceed to the next section.
2 – Mobile Operating Systems
Before you continue reading, it will be a good idea to get an overview of modern mobile operating systems. For this purpose, see our introduction to modern mobile operating systems.
ROM as the Operating System
When it comes to smartphones and tablets, the term ROM is used to refer to the firmware stored in the internal memory of the device, rather than the internal memory itself. It can also refer to a file prepared for the purpose of replacing this firmware with another version of using a special method.
Thus, when you are told by someone to download a ROM, they are referring to the file that contains the firmware in a format ready to be installed to your phone to replace it’s existing firmware. Similarly, when asked what ROM is your phone running or when told by someone their phone is running a particular ROM, they are again talking about the particular variant of the firmware.
Types of ROMs
Unlike most desktop operating systems, mobile operating systems can be found in installable format in multiple forms, which can be categorized as follows.
- Truly Stock ROMs / firmware:
This is the operating system in its default form, without any modifications made to it except for any device-specific support required to run it on the particular device. Truly stock firmware provides the standard user experience of the operating system without any cosmetic or functional changes made. These days, truly stock firmware is primarily found in cases where both the device and the operating system is built by the same company. Amongst modern mobile devices, examples of truly stock firmware can be found on Apple’s iOS devices, Palm’s WebOS devices and some Android devices shipped without any modifications made to the operating system by their manufacturers.
- Manufacturer or Carrier branded Stock ROM / Firmware:
This type of firmware has had enhancements added over the default operating system by the device manufacturer or the mobile service carrier. This often includes interface enhancements, proprietary applications and in most cases, restrictions intended to limit the use of the device with a specific carrier or region. There are often further restrictions preventing installation of firmware not released by the carrier or manufacturer.
Most Android and Symbian devices fall under this category, and so do most Windows Phone 7 devices but in their case, the changes made from the truly stock firmware are minimal and limited to the inclusion of additional apps only.
- Custom ROM / firmware:
Almost all devices ship with either of the above two categories of firmware, though things don’t end there. Independent developers who like to customize their devices beyond the standard options provided often tend to release the fruits of their labor for the rest to enjoy, in form of custom ROMs. The more open the platform, the more independent development it attracts, a good example of which is the independent custom ROM development for Android.
In case of proprietary firmware such as iOS and Windows Phone 7, there is often little or no room for customization of the operating system itself but regardless of that, developers still tend to release custom ROMs bundled with useful tools and hacks applied to provide functionality beyond the stock features. In fact custom ROM development for the otherwise proprietary and closed-source Windows Mobile platform lead to the formation of the largest independent mobile development community – the XDA-Developers forum.
3 – Stock vs. Custom ROMs
Both stock and custom ROMs have their merits and demerits and choosing between the two requires careful consideration. In this section, we are going to make a comparison between the two types of ROMs to help you make the right choice. Let us begin by taking a look at their advantages and disadvantages.
Do note that this section is written with primarily Android (and now obsolete Windows Mobile) devices in mind. However, the many of these concepts will also apply to other smartphone platforms.
Advantages & Disadvantages of Stock ROMs
Stock firmware is the result of a lot of research and testing done by the operating system vendor, the device manufacturer and/or the mobile service carrier. Therefore, it carries several advantages:
- It is usually quite stable upon release.
- Almost all bugs are patched during the extensive beta testing before release.
- It carries the official support by the firmware vendor, device manufacturer and the mobile service carrier.
- Updates are pushed automatically to the device by the carrier.
Along with its advantages, stock firmware also carries its disadvantages and these include:
- Updates aren’t frequent, as development is done mostly by corporations who have to follow a scheduled release cycle.
- Providing feedback to the manufacturer in case of any issues is either impossible, unwelcome (often with Apple devices), or a long, tedious process.
- Similarly, getting official support can be a hassle as well, involving a tedious process.
- If the device manufacturer and operating system developer are different (as is the case with Android and Windows Phone 7), any updates released by the operating system vendor need to be edited by the device manufacturer or mobile carrier to add compatibility and additional software before release. Hence, some devices get updates delayed by months.
- Updates are often released first in the United States, leaving the rest of the world waiting. (A world does happen to exist beyond the United States, we’ve confirmed it ourselves!)
- Worse still, when manufacturers choose to no longer release official updates for their older devices in favor of newer ones, their users are essentially stuck with old versions of the operating system. This case is evident with many Android devices barely a year and a half old.
- Several OS developers, device manufacturers or mobile service carriers add restrictions in the stock firmware ranging from locking the use of the device with one network/region to disabling sideloading of apps (we’re talking about you, AT&T) not available in the official app market, to advanced restrictions removing any chance of getting root access, just to name a few.
Advantages & Disadvantages of Custom ROMs
Custom ROMs are as good or as bad as the effort put into them by their developers. Key advantages of custom ROMs are:
- First and foremost, choice! There are thousands of custom ROMs out there for a range of devices, each offering a diverse set of features not found in the stock ROM.
- Update frequency – custom ROMs are often under active development and newer releases of the core operating system are incorporated in them way before updated official ROMs are released. This is particularly true in case of Android devices, where developers start porting newer versions of Android to several devices as soon as they are released.
- Providing feedback is as easy as leaving a message on the development forum for the ROM in question, resulting in highly efficient bug reporting.
- Getting support with your issues at the forums is similarly easy, as not only the main developers themselves but also other experienced users of the ROM from the community are glad to help you with your issues and in the process, improve the ROM for everyone.
- Custom ROMs usually have all the extra restrictions removed, enabling users to sideload apps, tether their mobile data connection to their computer without paying extra for it, gain root access, use their device in any region etc. without any need for circumventing the protection themselves.
- Performance enhancements and optimizations found in many custom ROMs can make them much faster than stock ROMs, enabling users to get the most out of their devices.
- Overclocking options are built into some custom ROMs, further speeding up the devices.
- Undervolting options found in some ROMs on the other hand result in improved battery life.
- Old phones with little internal memory can benefit most from custom ROMs that allow them to use the external SD card memory for the apps exactly the way they would use the internal memory.
So with all these advantages, there should be no reason to stick with the stock ROM, right? Not necessarily! Like all things in life, custom ROMs come with their disadvantages as well:
- Due to the lack of extensive testing prior to release, many custom ROMs can be buggy in the beginning and installing a ROM with missing or corrupt critical files can even brick your phone.
- Several custom ROMs that are ports of ROMs from other phones can have missing functionality that hasn’t been made to work on your phone with the ROM yet.
- Installing a custom ROM usually involves wiping your phone to factory settings, so you lose your data and start from scratch. Fortunately, Android’s built-in contact syncing along with apps offering message, call log and app backup/restore make this process easier, letting you retain your data.
- The installation process itself can be cumbersome and may require you to root your phone and often circumvent its security features to allow for custom ROM installation in the first place.
- Installing a custom ROM will in most cases void your phone’s warranty, though often the process is reversible, meaning you can turn your phone back to stock as long as it isn’t bricked.
- Installing a ROM to your phone requires you to root it first in most cases. While rooting most phones is easy, some phones require a complicated procedure to be followed before you can install a ROM to it and often, such procedures involve a risk of bricking your device if things go wrong.
Making the Choice
Choosing between a stock ROM and a question ROM is really a matter of your requirements. If the stock ROM on your phone lets you do all that you ever want to do with your phone and doesn’t feel slow, there isn’t any need to go through the trouble of circumventing your phone’s security and installing a custom ROM to it.
However, if you want to take your phone beyond what it currently offers, don’t care much about the warranty and are ready to take the risk of whatever may happen if things go wrong to be able to customize it the way you want, a custom ROM is at times the only solution. Choose wisely!
In case of iOS devices, a ROM is more often called IPSW (after the default firmware installation file extension) and a custom IPSW is usually something you make yourself from the stock IPSW using certain tools and thus, you get to decide what to include in it and what not. The resulting IPSW is usually very similar to the stock one in most ways, except for being unlocked and jailbroken, with Cydia installed. If your device is unlocked and you can jailbreak it using other methods, there is no need to go through the process of building and installing a custom IPSW to your iOS device.
Windows Phone 7 custom ROMs have already started to surface for some devices as well, and much like a custom IPSW, a custom Windows Phone 7 ROM is just a jailbroken variant of the stock ROM with a few extra apps installed, sideloading enabled and some registry hacks applied. If you don’t need any of these features, there is no point in going for a custom ROM.
When it comes to Android devices however, there are a lot of reasons to install custom ROMs due to the huge variation offered by them, to the extent that the entire user experience offered by the device can be altered simply by switching to a different ROM.
Choosing the Right Custom ROM
With several custom ROMs available for most Android devices, choosing the right one isn’t always easy. The question of ‘which is the best ROM for _____ phone / tablet’ is as often frowned-upon at the forums as it is asked, since there is no universal answer for it. One ROM may be the best for me while another might suit you better. The only solution is to read a lot, go through the feature list, read user response and if required, ask the developer questions at the forum page for the ROM. Attempt to install the ROM only after you are fairly satisfied that doing so will not harm your device to the extent you can’t fix.
4 – Resources
With this information, you should now be able to get into the world of custom ROMs, and here are a few resources to help you.
In case of Android devices, the first part of our series on how to customize the looks of your Android device features an excellent introduction to customizing your phone by installing a custom ROM to it and includes links to rooting guides, several resources on finding custom ROMs and two ROMs of our choice: CyanogenMod and MIUI. That should be enough to get you started.
For Windows Phone 7 devices, XDA-Developers is a one-stop shop for all your custom ROM needs. As for iPhone, iPad and iPod Touch owners, there are different tools out there that work in different cases, depending on your device and its current iOS & baseband version combinations. Using these as keywords, doing a quick search on Google is guaranteed to get you a lot of useful information.
Got questions? Want to share your opinions? Feel free to leave a comment.