,LKNSTOC.fm.8428 Page v Friday, December 1, 2006 9:55 AM
Chapter 1
Table of Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Part I. Building the Kernel 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Using This Book
4
2. Requirements for Building and Using the Kernel . . . . . . . . . . . . . . . . 5 Tools to Build the Kernel Tools to Use the Kernel
5 6
3. Retrieving the Kernel Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 What Tree to Use Where to Find the Kernel Source What to Do with the Source
12 13 15
4. Configuring and Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Creating a Configuration Modifying the Configuration Building the Kernel Advanced Building Options
17 18 23 26
5. Installing and Booting from a Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Using a Distribution’s Installation Scripts Installing by Hand Modifying the Bootloader for the New Kernel
30 31 32 v
,LKNSTOC.fm.8428 Page vi Friday, December 1, 2006 9:55 AM
6. Upgrading a Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Download the New Source Applying the Patch Reconfigure the Kernel Can’t This Be Automated?
36 38 40 42
Part II. Major Customizations 7. Customizing a Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Using a Distribution Kernel Determining the Correct Module from Scratch
45 52
8. Kernel Configuration Recipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Disks Devices CPU Networking Filesystems Security Kernel Debugging
63 66 71 75 80 82 83
Part III. Kernel Reference 9. Kernel Boot Command-Line Parameter Reference . . . . . . . . . . . . . . 87 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
vi |
Table of Contents
87 88 91 92 94 95 97 98 99 101 101 102 103 106 107
,LKNSTOC.fm.8428 Page vii Friday, December 1, 2006 9:55 AM
Plug and Play BIOS Options SELinux Options Network Options Network File System Options Hardware-Specific Options Timer-Specific Options Miscellaneous Options
109 110 111 111 113 114 115
10. Kernel Build Command-Line Reference . . . . . . . . . . . . . . . . . . . . . . . 117 Informational Targets Cleaning Targets Configuration Targets Build Targets Packaging Targets Documentation Targets Architecture-Specific Targets Analysis Targets
117 118 118 119 120 121 121 121
11. Kernel Configuration Option Reference . . . . . . . . . . . . . . . . . . . . . . . 122
Part IV. Additional Information A. Helpful Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Managing Your Patches with quilt git ketchup
163 165 166
B. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Table of Contents |
vii
,LKNSTOC.fm.8428 Page viii Friday, December 1, 2006 9:55 AM