Configuring and compiling the Linux kernel is a complex task. Unless you have a particular need to install a custom kernel, generally you will be better off upgrading the kernel using a newer Red Hat kernel. However, if you do need to build your own kernel, the following lessons outline the process to configure and compile a customized kernel, and explore some of the decisions you will need to make to build your kernel. Some of the subjects we will touch upon other than the actual compilation steps include
- Modular versus monolithic kernels
- Build requirements, including necessary sources and files
- The modules required for compilation and their functions
No matter what version of Linux you use, the piece of code common to all is the Linux kernel.
Although the kernel can be modified to include support for the features you want, every Linux kernel can offer the following features:
- Multiuser: Not only can you have many user accounts available on a Linux system, you can also have multiple users logged in and working on the system at the same time. Users can have their own
environments arranged the way they want: their own home directory for storing files and their own desktop interface (with icons, menus, and applications arranged to suit them).
- Multitasking: In Linux, it is possible to have many programs running at the same time, which means that not only can you have many programs going at once, but that Linux, itself, can have programs running in the background.
Many of these system processes make it possible for Linux to work as a server, with these background processes listening to the network for requests to log in to your system, view a Web page, print a document, or copy a file. These background processes are referred to as daemons.
- Graphical User Interface (X Window System): The powerful framework for working with graphical applications in Linux is referred to as the X Window System (or simply X). X handles the functions of opening X-based GUI applications and displaying them on an X server process (the process that manages your screen, mouse, and keyboard).
On top of X, you use an X-based desktop environment to provide a desktop metaphor and window manager to provide the specific look−and−feel of your GUI (icons, window frames, menus, and colors). There are several desktop environments and dozens of desktop managers to choose from. (Red Hat provides several desktop managers, but focuses on Gnome and KDE desktop environments.)
After completing this module, you will be able to
- Explain the differences between modular and monolithic kernels
- List available modules
- Load kernel modules
- Configure kernel modules
- List the advantages and disadvantages of building a custom Linux kernel
- Describe preliminary kernel-building procedures
- Configure kernel options before compilation
- Compile and install the kernel and modules
- Describe common post-installation procedures
- Use the LILO map installer to install first- and second-stage boot loaders
The next lesson describes kernel concepts.