Build the Kernel
Compile and boot your first custom kernel from source
Contribute a Patch
Learn the patch submission process and community guidelines
Kernel Internals
Explore memory management, scheduling, networking, and filesystems
Driver Development
Write device drivers using the kernel’s device model and APIs
Who are you?
New Kernel Developer
Start with coding style, patch workflow, and development tools
System Administrator
Configure kernel parameters, sysctl tuning, and module management
Security Researcher
Explore LSMs, seccomp, and kernel self-protection features
Hardware Vendor
Integrate new hardware with the driver model and bus frameworks
Quick start
Explore the API
Memory Allocation
kmalloc, vmalloc, and the slab allocator APIs
Locking Primitives
Spinlocks, mutexes, RW semaphores, and lockdep
Workqueue API
Deferred and concurrent work execution in the kernel
RCU Mechanism
Read-Copy-Update for high-performance concurrent access
The Linux kernel is licensed under GPLv2. All contributions must comply with the Developer Certificate of Origin (DCO). See the contributing guide for details.
