Written by a leading developer and maintainer of the Linux kernel, "Linux Kernel in a Nutshell" is a comprehensive overview of kernel configuration and building, a critical task for Linux users and administrators. No distribution can provide a Linux kernel that meets all users' needs. Computers big and small have special requirements that require reconfiguring and rebuilding the kernel. Whether you are trying to get sound, wireless support, and power management working on a laptop or incorporating enterprise features such as logical volume management on a large server, you can benefit from the insights in this book. "Linux Kernel in a Nutshell" covers the entire range of kernel tasks, starting with downloading the source and making sure that the kernel is in sync with the versions of the tools you need. In addition to configuration and installation steps, the book offers reference material and discussions of related topics such as control of kernel options at runtime. A key benefit of the book is a chapter on determining exactly what drivers are needed for your hardware. Also included are recipes that list what you need to do to accomplish a wide range of popular tasks.
Greg Kroah-Hartman has been writing Linux kernel drivers since 1999, and is currently the maintainer for the USB, PCI, I2C, driver core, and sysfs kernel subsystems. He is also the maintainer of the udev and hotplug userspace programs, as well as being a Gentoo kernel maintainer, ensuring that his email inbox is never empty. He is a contributing editor to Linux Journal Magazine, and works for IBM's Linux Technology Center, doing various Linux kernel related tasks.
Chapter 1 Preface I. Building the Kernel 1. Introduction Using This Book 2. Requirements for Building and Using the Kernel Tools to Build the Kernel Tools to Use the Kernel 3. Retrieving the Kernel Source What Tree to Use Where to Find the Kernel Source What to Do with the Source 4. Configuring and Building Creating a Configuration Modifying the Configuration Building the Kernel Advanced Building Options 5. Installing and Booting from a Kernel Using a Distribution's Installation Scripts Installing by Hand Modifying the Bootloader for the New Kernel 6. Upgrading a Kernel Download the New Source Applying the Patch Reconfigure the Kernel Can't This Be Automated? II. Major Customizations 7. Customizing a Kernel Using a Distribution Kernel Determining the Correct Module from Scratch 8. Kernel Configuration Recipes Disks Devices CPU Networking Filesystems Security Kernel Debugging III. Kernel Reference 9. Kernel Boot Command-Line Parameter Reference Module-Specific Options Console Options Interrupt Options Memory Options Suspend Options CPU Options Scheduler Options Ramdisk Options Root Disk Options Init Options kexec Options RCU Options ACPI Options SCSI Options PCI Options Plug and Play BIOS Options SELinux Options Network Options Network File System Options Hardware-Specific Options Timer-Specific Options Miscellaneous Options 10. Kernel Build Command-Line Reference Informational Targets Cleaning Targets Configuration Targets Build Targets Packaging Targets Documentation Targets Architecture-Specific Targets Analysis Targets 11. Kernel Configuration Option Reference IV. Additional Information A. Helpful Utilities Managing Your Patches with quilt git ketchup B. Bibliography Index