Geek 101: Demystifying Custom Android ROMs (Part II)

09.02.2011
This is the second installment of our custom-ROM tutorial for Android phones. If you're just tuning in, check out Part I, which covers .

Basically, the kernel is the most important piece of most operating systems. It serves as the link between applications and the data processing that happens at a hardware level. For Android phones the kernel has a lot of control over the handset's speed and battery life, as well as over how applications perform (to some extent). Some kernels are built for speed, and some are designed for battery longevity. When you hear about a phone being "overclocked," it's the kernel that is overclocking the processor. Kernels typically have names indicating their speed and voltage. For example, LFY-1100_SLV.zip means the maximum speed is 1100MHz (megahertz, expressed in gigahertz as 1.1GHz), and SLV means "super low voltage." (The LFY stands for Liquid Frozen Yogurt, which is the ROM it was built for, though it works with other ROMs, too.)

Overclocking a processor too fast can overheat it and make your phone's system unstable. Using a voltage that is too low may put your handset in a bootloop (in which case you'd have to boot the phone into recovery and restore from a backup, and then install a kernel that works better). , an app you can download from the Market, enables you to set profiles for your processor's speed and enable fail-safes to keep your phone from overheating. Various kernels also have different "governors," which scale power/performance differently given the circumstances. Governors include Conservative, Interactive, OnDemand, Performance, and Powersave, among others. You can change governors in SetCPU, or natively in some ROMs.

You can download and install many kernels directly from ROM Manager. Many more are available online; you can download one to your desktop and transfer it to your phone's SD Card (though downloading it directly on your phone from a Website may be possible), and then flash the kernel following the steps outlined for flashing ROMs (in Part I of our tutorial). Popular kernel developers include Bekit, ChevyNo.1, Koush, P3, and Slayher, to name just a few. Do some research on what kernel will work best for your phone, and on how fast you can safely overclock it; for example, I've found that my Droid can tolerate overclocking to 1100MHz and stay stable, but your mileage may vary depending on your phone. Strangely enough, two phones that are the exact same model often behave differently, so you might have to experiment to see what kernel you (and your phone) like best.