- Table of Contents
- Copyright
- About the Lead Authors
- About the Contributing Authors
- Acknowledgments
- Tell Us What You Think!
- Introduction
- I. Red Hat Linux Installation and User Services
- Chapter 1. Introduction to Red Hat Linux
- Chapter 2. Installation of Your Red Hat System
- Chapter 3. LILO and Other Boot Managers
- Chapter 4. Configuring the X Window System, Version 11
- Chapter 5. Window Managers
- Chapter 6. Connecting to the Internet
- Chapter 7. IRC, ICQ, and Chat Clients
- Chapter 8. Using Multimedia and Graphics Clients
- II. Configuring Services
- Chapter 9. System Startup and Shutdown
- Chapter 10. SMTP and Protocols
- Chapter 11. FTP
- Chapter 12. Apache Server
- Chapter 13. Internet News
- Chapter 14. Domain Name Service and Dynamic Host Configuration Protocol
- Chapter 15. NIS: Network Information Service
- Chapter 16. NFS: Network Filesystem
- Chapter 17. Samba
- III. System Administration and Management
- Chapter 18. Linux Filesystems, Disks, and Other Devices
- Chapter 19. Printing with Linux
- Chapter 20. TCP/IP Network Management
- Chapter 21. Linux System Administration
- Chapter 22. Backup and Restore
- Chapter 23. System Security
- IV. Red Hat Development and Productivity
- Chapter 24. Linux C/C++ Programming Tools
- Chapter 25. Shell Scripting
- Chapter 26. Automating Tasks
- Chapter 27. Configuring and Building Kernels
- Chapter 28. Emulators, Tools, and Window Clients
- V. Appendixes
- A. The Linux Documentation Project
- B. Top Linux Commands and Utilities
- C. The GNU General Public License
- D. Red Hat Linux RPM Package Listings
Introduction to the Linux Kernel
You may think kernel tuning is no place for the average user. This is both true and false. Like other features of Linux, the possibilities are endless and deep, but you don't need to understand all the gory details of PCI chipsets to tailor a better Linux for your computer. Armed with nothing more than your computer manuals, you can easily zero in on features you need and leave the very technical tuning for some day down the road. If you know your techie details, Linux will not stand in your way, but if you only know how to run a shell command, you can still build a better Linux.
The first checklist question to ask yourself is, "Do I really need to rebuild the kernel?" The answer is almost always "No." Back in good old UNIX days, this step was so common that most commercial UNIX systems performed an automatic kernel config and install whenever the hardware configuration changed. As recently as 1999, most Linux distributions still required manual recompilation to support some components.
Those were the good old days. Today, your default Red Hat kernel stands an excellent chance of running optimally on your hardware, without any source configuration changes. At most, you might fine-tune /etc/modules.conf or set /proc control files. Even if your needs require upgrading to the latest Linux 2.4, you may find it more convenient and just as reliable to fetch the updated binary RPM file.
Do You Really Need to Recompile?
There are many ways to modify Linux. Only one of these is to reconfigure and recompile the kernel. Many runtime parameters, such as sound card ports, hard disk geometries, and IRQ assignments, can be set using bootparams, the command-line options to the LILO. Many runtime characteristics, even delicate issues such as virtual memory and filesystem behaviors, can be queried and set by shell scripts using the /proc filesystem.
The kernel installed by your Red Hat RPM file is very flexible and very complete, but one kernel cannot be all things to all people. You may need to trim the size for a small-memory machine, or boost it to handle 16GB, or even just to recompile to take advantage of your particular brand of CPU. At some point, you will want to harness the real power of UNIX: the power of choice. Kernel tweaking can be as simple as adding a few boot parameters to set a sound card IRQ, or it can involve picking and choosing from the huge list of modules and kernel options in search of an optimal match. Through the kernel configuration, Linux can be adapted for low memory or huge memory, optimized as a router or firewall, extended to support new hardware and alien filesystems, and can include the largest array of network protocols in the industry.
Understanding the Kernel | Next Section

Account Sign In
View your cart