Flylib.com

Books Software

 
 
 

Chapter 33: Kernel Administration

 < Day Day Up > 


Chapter 33: Kernel Administration

Overview

The kernel is the operating system, performing core tasks such as managing memory and disk access, as well as interfacing with the hardware that makes up your system. For example, the kernel makes possible such standard Linux features as multitasking and multiuser support. It also handles communications with devices like your CD-ROM or hard disk. Users send requests for access to these devices through the kernel, which then handles the lower-level task of actually sending appropriate instructions to a device. Given the great variety of devices available, the kind of devices connected to a Linux system will vary. When Linux is installed, the kernel is appropriately configured for your connected devices. However, if you add a new device, you may have to enable support for it in the kernel. This involves reconfiguring the existing kernel to support the new device through a procedure that is often referred to as building or compiling the kernel. In addition, new versions of the kernel are continuously made available that provide improved support for your devices, as well as support for new features and increased reliability for a smoother-running system. You can download, compile, and install these new versions on your system.



 < Day Day Up > 
 < Day Day Up > 


Kernel Versions

The version number for a Linux kernel consists of three segments: the major, minor, and revision numbers . The major number increments with major changes in the kernel. The minor number indicates stability. Even numbers are used for stable releases, whereas odd numbers are reserved for development releases, which may be unstable. New features first appear in the development versions. If you're concerned about stability, you should wait for the stable version. The revision number refers to the corrected versions. As bugs are discovered and corrected, and as new features are introduced, new revisions of a kernel are released. A development kernel may have numerous revisions. For example, kernel 2.4.22 has a major number of 2 and a minor number of 4, with a revision number of 22. Distributions often add another number that refers to a specific set of patches applied to the kernel. For example, for Fedora Linux, the kernel is 2.4.22-1, where 1 is the patch number. On distributions that support RPM packages, you can use an RPM query to learn what version is installed, as shown here:

rpm -q kernel

You could have more than one version of the kernel installed on your system. To see which one is running currently, you use the uname command with the -r option (the -a option provides more detailed information).

uname -r

New kernels are released on two different tracks, a stable track and a development track. Stable kernels have an even revision number, whereas development kernels use an odd number. The stable kernel would be 2.4, and its development kernel 2.5. Often, development kernels , though unstable, include support for the most recent hardware and software features. However, unless you are experimenting with kernel development, you should always install a stable version of the kernel.

The Linux kernel is being worked on constantly, and new versions are released when they are ready. Distributions may include different kernel versions. Red Hat includes the most up-to-date stable kernel in its releases. Linux kernels are available at kernel.org . Also, RPM packages for a new kernel are often available at distribution update sites. One reason you may need to upgrade your kernel is to provide support for new hardware or for features not supported by your distribution's version. For example, you may need support for a new device not provided in your distribution's version of the kernel. Certain features may not be included in a distribution's version because they are considered experimental or a security risk.

Tip 

In many cases, you probably don't need to compile and install a new kernel just to add support for a new device. Kernels provide most device support in the form of loadable modules, of which only those needed are installed with the kernel. Most likely, your current kernel has the module you need; you simply have to compile it and install it. For this task, see the "Installing New Modules for the Kernel" section in Chapter 32.

You can learn more about the Linux kernel from kernel.org , the official repository for the current Linux kernels. The most current source code, as well as documentation, is there. Your distribution Web site will also provide online documentation for installing and compiling the kernel on its systems. Several Linux HOW-TOs also exist on the subject. The kernel source code software packages also include extensive documentation. Kernel source code files are always installed in the /usr/src/linux- version directory, where version is the kernel version, as in /usr/src/linux-2.4 . In this directory, you can find a subdirectory named /Documentation, which contains an extensive set of files and directories documenting kernel features, modules, and commands. The following listing of kernel resources also contains more information:

  • kernel.org    The official Linux kernel Web site. All new kernels originate from here.

  • www.linuxhq.com    Linux headquarters, kernel sources, and patches.

  • kernelnewbies.org    Linux kernel sources and information.

  • www.tldp.org    The Linux Documentation Project.



 < Day Day Up >