- Obtaining the Kernel Source
- The Kernel Source Tree
- Building the Kernel
- A Beast of a Different Nature
- Conclusion
The Kernel Source Tree
The kernel source tree is divided into a number of directories, most of which contain many more subdirectories. The directories in the root of the source tree, along with their descriptions, are listed in Table 2.1.
Table 2.1. Directories in the Root of the Kernel Source Tree
Directory |
Description |
arch |
Architecture-specific source |
block |
Block I/O layer |
crypto |
Crypto API |
Documentation |
Kernel source documentation |
drivers |
Device drivers |
firmware |
Device firmware needed to use certain drivers |
fs |
The VFS and the individual filesystems |
include |
Kernel headers |
init |
Kernel boot and initialization |
ipc |
Interprocess communication code |
kernel |
Core subsystems, such as the scheduler |
lib |
Helper routines |
mm |
Memory management subsystem and the VM |
net |
Networking subsystem |
samples |
Sample, demonstrative code |
scripts |
Scripts used to build the kernel |
security |
Linux Security Module |
sound |
Sound subsystem |
usr |
Early user-space code (called initramfs) |
tools |
Tools helpful for developing Linux |
virt |
Virtualization infrastructure |
A number of files in the root of the source tree deserve mention. The file COPYING is the kernel license (the GNU GPL v2). CREDITS is a listing of developers with more than a trivial amount of code in the kernel. MAINTAINERS lists the names of the individuals who maintain subsystems and drivers in the kernel. Makefile is the base kernel Makefile.