The Linux kernel. It's the heart and soul of Android and can be a little intimidating for those new to the Development scene. For those of you that are unfamiliar, the kernel is basically a bridge between applications and the actual data processing done at the hardware level. It also manages the system's resources and provides the lowest-level abstraction layer for the resources that software must control to perform its function. Compiling a kernel from source has been something that most aspiring developers seem to avoid. This no longer has to be the case, because RootzWiki member Adrynalyne has written a guide to help all those interested in getting their feet wet.
Adrynalyne has done a pretty good job with breaking the process down into 5 steps. First off, you're going to need to be running GNU/Linux. The guide is assuming that you'll be using Ubuntu, 11.10 to be exact. After that, you'll be ready to build your environment, grab a toolchain and choose the source. Once you've chosen the source and are synced up, you're ready to build and pack up the kernel. It's a fairly simple process, and the guide couldn't be anymore straight forward. With that said, there are some things that you'll have to figure out for yourself, such as the module and kernel location. It's also important to note that, while the guide is posted in the ThunderBolt Developer subforum, this is a universal method.
Feeling up to the challenge? Head on over to the original thread for the detailed guide and discussion.