Introduction |
The Linux kernel is the core of the operating system, acting as a layer between the hardware and all other processes. The kernel provides for memory management, multi-tasking, input/output, networking, and many other functions. Since Linux is open source software, access to the source code for the Linux kernel is freely available. This means that anyone is free to customize and recompile the kernel to suit their specific needs. In fact, the kernel is designed in a modular fashion that allows users to remove parts of the kernel that are not needed for the intended purpose of the machine. When thinking of customizing and recompiling the kernel, you may have visions of sorting through thousands of lines of C code, but that is not the case. Unneeded kernel modules can be removed without editing a single line of code. Having said that, recompiling the kernel is not something that needs to be done frequently or on a whim. Granted, there are many people who recompile their kernels every other day just for fun, but it's usually unnecessary unless they are kernel developers. Tools exist to make the configuration and compilation process easier, but it is still a rather complex process. A combination of failing to make proper backups of the old kernel and errors in the compilation process can result in a system that does not function correctly or that does not boot up at all! |
Kernel Version Numbers |
The Linux kernel version numbers consist of three numbers separated by decimals, such as . The first number is the major version number. The second number is the minor revision number. The third number is the patch level version. At any given time there is a group of kernels that are considered "stable releases" and another group that is considered "development." If the second number of a kernel is even, then that kernel is a stable release. For example, the kernel is a stable release because the second number is even. If the second number is odd, then that kernel is a development release. For example, the is a development release because the second nubmer is odd. Once the branch is considered finished, then it will become the kernel. Patches will then appear for the branch and development work will begin on the |
Is Recompiling The Kernel Necessary? |
Is recompiling the kernel necessary? That depends on your situation (and who you ask). Here are a few things to think about when considering recompiling your kernel:
|