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 installing a custom ROM, using ROM Manager, and backing up your data.
What the Heck Is a Kernel?
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). SetCPU, 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.
What Is the Best ROM?
For the record, no single ROM is "the best"--there is only what works best for you and for your phone. Some ROMs will work for some phone models but not for others, so be sure that you are downloading a compatible ROM. Here are a few of the major players, all of which are downloadable via ROM Manager.
CyanogenMod is the most popular ROM out there, which makes its creators' forum a fantastic place for help and information. It also has the most people working on it, so users get more features and faster fixes. Overall, it's a very good choice for your first custom ROM. Currently it works on more phones than any other ROM, too. For the Droid it comes with an 800MHz kernel (though, as I mentioned above, you can install a different, faster kernel if you want).
Less feature-rich than Cyanogen, Bugless Beast is generally smooth (on most phones) and stable, but it doesn't have as many options for customization. Development tends to be a bit on the slower side, too. Bootup is quite fast (much speedier than Cyanogen). Under Settings you'll find the ROM Toolkit, where you can access ROM settings and tweaks. It comes with an 800MHz kernel that has many governors. Personally, when I tried this, I missed some of the neat stuff in CyanogenMod, and I had some radio problems and a few initial Market issues, too. The experience was good overall, though.
Liquid Smooth ROMs
The folks that made the popular Liquid Frozen Yogurt ROM now have a nice Liquid Gingerbread (based on Android 2.3), which is in beta. LFY and LGB both start with cool boot animations, which you can select and customize. Liquid has several slick custom themes that change your icons and some of the system colors, too. It uses Launcher Pro as its default home launcher, which is my favorite replacement home. LFY and LGB are both extremely fast (though LFY is faster at this stage, and far more stable). They come with a kernel made by Slayher (1GHz for Droid), which makes LFY easily the fastest out of the box among the ROMs I've tested. The app called Liquid Tweaks lets you change your ROM settings. The Liquid ROM offering is still not as feature-rich as Cyanogen (though LGB is getting closer), and it may not be as stable, but it's quite good.
Other popular ROMs include Simply Stunning (by ChevyNo.1), Ultimate Droid, and Lithium Mod, but many others exist. GEM ROMs (such as Sapphire) were very popular, but their developer has left the project to work on Cyanogen development, which is a major coup for that group.
What Is a ROM Theme?
A ROM theme is a pack that you download and install over your current ROM. It typically changes a lot of the colors and icons, and sometimes the sounds as well. It doesn't really add any functionality (in fact, it may slow your phone down some), but it does spice up your handset a bit and give it a fresh look. You can download some themes directly from ROM Manager; more often, though, you'll find a link in the forums, download it, transfer it to your SD Card, and install it with ROM Manager or via your custom recovery.
Obviously, you have a lot on the subject of custom ROMs to wrap your mind around. Do a lot of digging on your own and make sure you're confident in what you're doing before you start. Again, the forums at XDA Developers, CyanogenMod, and other sites are terrific resources. If you get into a jam, you may find more-immediate help on various IRC channels that specialize in this stuff.
Custom ROMs are a fantastic way to enhance the capabilities of your current device: You can make it speedier and last longer, and you can get the latest versions of Android and enable it to do things it couldn't before. If you know what you're doing, you can truly unlock your phone's potential.