Custom ROMs for Android: CyanogenMod and More

 

Wondering what’s the next step after rooting your Android phone? Read on to know all about beefing up your phone with custom ROMs for Android.

 

If you’ve got an Android phone and you are reading a magazine like this, chances are that you already know a bit about rooting Android phones. So, what’s the next best thing to do with it? Flash it! Yes, that is what we are going to talk about here. I’ll be telling you how to go about flashing custom ROMs on your phone, and how to tweak your way to a phone that follows your orders, right from scratch.

There are lots of advantages to flashing custom ROMs, but before going into that, I would like to reflect on what a ROM actually is. ROM or Read Only Memory is the software that runs on your phone—the firmware for your smartphone. In most cases, it comes locked with the phone. Most manufacturers make some modifications and additions to stock Android before distributing it, to differentiate their phone from the competition. But that way, they often impose restrictions on what you can do with your phone and the kind of software that you can install. There have even been privacy issues with some carriers bundling information-tracking software. All this can be avoided by exploiting the fact that Android is an open source ecosystem at its core, and there are literally hundreds of developers working to solve problems that you and I face. There are probably hundreds of custom ROMs out there for different purposes. Whether you want extreme performance or extreme battery life, you’ll get what you want from the Android developer community. It’s just like the Linux ecosystem. You can actually go distro hopping like you do on your desktop, and that is the beauty of Android and open source. The fact that you have lots of choices makes Android a much better option if you do not want to be spoon-fed (like your iOS counterparts).

Modding your phone often involves installing third-party software and is inherently a risky process if you don’t know what you’re doing. In which case, you’re probably better off just playing around with the stock Android ROM that came with your phone. Another word of caution though: the carrier or manufacturer is unlikely to provide any assistance if  problems arise—so if something goes wrong, you’re on your own.

Advantages of modding your phone
There are several reasons you might want to put a third-party custom ROM on your Android phone:
Updates: In order to publicise newer models and lure users into buying them, most manufacturers deny newer updates to older phones—but you can easily circumvent this problem by using ROMs with a newer Android version. Besides, most developers of such software also provide an easy way to keep updating your ROM.
Minimalist: The primary reason most people switch their ROMs is that they are minimalist from the ground up. They give you a chance to remove the bloat-ware that came loaded with your phone, and  you can choose to install what you want.
Over-clocking: With the combination of a custom kernel and the right tweaks, even an over-clocked phone can give you a huge performance boost, which would otherwise be impossible to achieve.
Better theme support: Customised ROMs may allow you to change the theme of your phone in ways that would have been otherwise impossible. Some heavily themed skins might even force you to forget that you are using Android!
New features: Most ROMs provide innovative features and solutions to minor quirks, which can change the way you use your phone.
Before you start
Before you even think of flashing your phone, get ready with a list of things to do and the process to follow. The most important thing is backing up. You should not only back up your data (contacts, email, etc), but also your software, your current applications, settings and even the entire stock Android ROM that originally came with your phone. Who knows, if things do not work out, you might want to switch back to what you originally had. There are several back-up applications available, the best among them (according to me) being Titanium Backup. Even though it has a free version, it has so many innovative features that it is worth paying for the full version. What this app basically does is allow you to back up all settings and application data to the cloud or an SD card if available, and recover it across different ROMs. So settings, contacts and apps from your stock Android ROM will easily be available in the newly flashed ROM, with the help of this application.
Another must-have application for your phone is the ROM Manager. It basically allows you to browse and download different ROMs, install the latest ClockWorkMod recovery manager, and back up the stock Android ROM that came with your phone—which means that it is an all-in-one app that makes your life much easier.
All about recovery
One important thing you must know about before venturing into modding is that in most cases, your Android phone’s internal memory is partitioned in the following way:
splash1
boot
recovery
system
cache
data
What’s important here is the recovery partition, which contains the software relevant to the recovery mode your phone can boot into. The stock version allows you to reset your phone and reinstall the firmware. Now, in order to install most custom ROMs, we need to flash a custom version of our recovery manager, which allows us to do more than just reset our phone. One such popular software is the ClockWorkMod Recovery Manager, and installing it is as easy as installing the ROM manager app from the Android market. Then, to boot into this recovery mode, a special device-specific hardware key combination is used; you can easily look this up on the Internet. Most probably, the keys will be something like the ‘volume up’ or ‘volume down’ button that needs to be pressed while booting your phone.
A word about nAndroid backups is a must here. ClockWorkMod also provides an option for backup and recovery, among other features. This basically takes a complete backup of the memory and software in your phone, and copies it onto the SD card. So yes, you need enough free space there before attempting a nAndroid backup. Most developers suggest that you take a nAndroid backup every time you flash your phone.
Flashing the ROM
Now that we are all done with backups and are able to successfully boot into the customised recovery manager, all we need to do is find and download our much-wanted ROM, and flash it with the help of the ClockWorkMod Recovery menu. To do this, we need to boot into the recovery mode, wipe all partitions and then choose the ‘Install from zip’ option. However, if you are using the ROM Manager, it will probably make the job much easier for you by automating the whole process. Note that you should read the instructions that the developer might have given for a specific ROM, since it often happens that the requirements and process might change for some heavily customised ROMs. The best place to find a custom ROM would be http://forum.xda-developers.com, a forum where most developers of the Android community lurk. After you have finished flashing your ROM and successfully booted into it, you might also want to install the Google apps, including the Android Market, as most developers do not bundle these due to licensing restrictions.

CyanogenMod: Features and more
CyanogenMod is easily one of the most popular ROMs available for most Android phones, and that is why it deserves a special mention here. It is very popular because of the wide variety of devices that it supports, and also some of the innovative features that it has, such as:
Apps2SD: CyanogenMod and most other ROMs support installing apps to the SD card by default, even if the app itself does not support the feature. This allows you to save a lot of space in case you are installing some heavy software like games, etc.
Gestures: It supports gestures in locked-screen mode, in the music player, etc, so that you can just use hand gestures in order to command the phone to perform an action.
Improved permissions: This allows you to easily control exactly what permissions are available to each application and revoke any permissions if not needed.
Phone goggles: Another innovative feature, which ‘filters out’ unwanted communications at a specific time, etc. There are a variety of settings available for such purposes.
OpenVPN: It allows you to set up a VPN to tunnel all your IP and network data.
Incognito mode: It resembles the incognito mode that is available for the Chrome browser, wherein the history and cookies for the websites you browse aren’t recorded.
These are just some of the major features of CyanogenMod; there are many more miscellaneous tweaks and features that we haven’t even talked about. Obviously, the best way to learn more about them is to try them out on your phone! Only then will you come to know whether you like them or not. There are many more options available like MIUI, DarkyROM, etc, which are definitely worth a try.
After you’re done with this, you may even consider building a custom ROM for yourself. Though you might easily be able to make a few light modifications before redistributing it, if you are serious about making heavier changes, it definitely takes more than just changing the default theme and bundled software. It needs a lot of reading and guidance from other experienced developers. You could try teaming up with and helping out other developers in their projects, and slowly get acquainted with the community. First though, head over to the forums at xda-developers.com, read what others have posted and start asking questions in areas that you find yourself lagging behind.

Links
[1]     http://forum.xda-developers.com/
[2]     http://wiki.cyanogenmod.com/

Must-have apps for your rooted Android phone

These are some of the apps that I have come to like. Some of them might be paid ones, but those mentioned here are worth it:
Tasker: The best Android app you may ever encounter. It performs tasks based on contexts, i.e., you can trigger some actions when a particular situation occurs; this is much more powerful than you can imagine.
Kernel Manager Lite/Pro: Allows you to swap kernels for your phone. The main attraction is the ability to over-clock your device and squeeze out extra battery life or some extra performance, according to whatever your priorities are. The app allows you to browse the different kernels available for your device, download them and then flash them to your phone.
setCPU: This is one of those ubiquitous apps that you will find on most rooted phones. It allows you to over-clock, under-clock and tune the CPU of your phone.
Root Explorer: As the name suggests, it allows you to browse the root filesystem of your phone, which most normal file explorers do not allow.
SuperUser: This allows you to secure your phone by preventing unauthorised root access to your phone, with the help of superuser rights management.
Busybox: This gives you access to some useful Linux or UNIX-based commands that are required for many root-level tasks.
Adfree: An app that acts like the AdBlocker extension for your Android phone, as it blocks all Google ads from showing up in your applications.
And of course, the ones mentioned earlier, like Titanium Backup Pro and ROM manager, are also to be included in this list. Besides these, you might need a console app and a good keyboard that suits you.

 

All published articles are released under Creative Commons Attribution-NonCommercial 3.0 Unported License, unless otherwise noted.
Open Source For You is powered by WordPress, which gladly sits on top of a CentOS-based LEMP stack.

Creative Commons License.