Linux Today: Linux News On Internet Time.

Linux.com: Taking the Plunge: Compiling the Kernel

May 28, 2000, 05:08 (3 Talkback[s])
(Other stories by Tom Dominico)

"You've been putting it off for awhile now. You've been hoping that you wouldn't have to do it, but you've come to the point where it's unavoidable. Perhaps you need additional hardware support, or need to enable a particular networking option. For whatever reason, it's time to perform a traditional Linux rite of passage: the compilation of the kernel."

"First, let's talk a bit about the kernel itself. The kernel is the core of the operating system. It performs the essential operations of the system, controls your hardware, etc. Support for hardware can either be compiled directly into the kernel, or as a module. What is a module? Well, it's just a chunk of code that has compiled separately and resides in a directory (/lib/modules/) along with other modules, grouped by function. You can think of them in the same terms as the device drivers that you may be familiar with from Windows. These modules can then be "linked" into the kernel while it is running. What this basically means is that you can dynamically add and remove hardware support at will. It also means that you can upgrade (recompile) a module without having to recompile the whole kernel. Using modules is generally the preferred way of doing things in Linux."

"It's always a good idea to recompile your kernel after you install Linux. Why? The "stock" kernel that is installed is somewhat bloated, because it tries to support a wide range of hardware. Also, it may not contain support for a certain feature that you require, such as IP Masquerading (using a Linux computer as a "gateway" in order to share an Internet connection). Or, perhaps you just wish to upgrade your kernel to the latest version. For newer users, I'd recommend that you stick to the so-called "production" kernels, which have even numbers after the first "point". For instance, 2.2.16 would be considered "production", or stable, while 2.3.99 is considered a "development" version and may be buggy."

Complete Story

Related Stories: