The Linux kernel is the core of any Linux operating system. It manages hardware,
system resources, and provides the fundamental services for all other software.
Report a bug: See Documentation/admin-guide/reporting-issues.rst
Get the latest kernel: https://kernel.org
Build the kernel: See Documentation/admin-guide/quickly-build-trimmed-linux.rst
Join the community: https://lore.kernel.org/
All users should be familiar with:
Building requirements: Documentation/process/changes.rst
Code of Conduct: Documentation/process/code-of-conduct.rst
License: See COPYING
Documentation can be built with make htmldocs or viewed online at:
https://www.kernel.org/doc/html/latest/
Find your role below:
New Kernel Developer - Getting started with kernel development
Academic Researcher - Studying kernel internals and architecture
Security Expert - Hardening and vulnerability analysis
Backport/Maintenance Engineer - Maintaining stable kernels
System Administrator - Configuring and troubleshooting
Maintainer - Leading subsystems and reviewing patches
Hardware Vendor - Writing drivers for new hardware
Distribution Maintainer - Packaging kernels for distros
Welcome! Start your kernel development journey here:
Getting Started: Documentation/process/development-process.rst
Your First Patch: Documentation/process/submitting-patches.rst
Coding Style: Documentation/process/coding-style.rst
Build System: Documentation/kbuild/index.rst
Development Tools: Documentation/dev-tools/index.rst
Kernel Hacking Guide: Documentation/kernel-hacking/hacking.rst
Core APIs: Documentation/core-api/index.rst
Explore the kernel's architecture and internals:
Researcher Guidelines: Documentation/process/researcher-guidelines.rst
Memory Management: Documentation/mm/index.rst
Scheduler: Documentation/scheduler/index.rst
Networking Stack: Documentation/networking/index.rst
Filesystems: Documentation/filesystems/index.rst
RCU (Read-Copy Update): Documentation/RCU/index.rst
Locking Primitives: Documentation/locking/index.rst
Power Management: Documentation/power/index.rst
Security documentation and hardening guides:
Security Documentation: Documentation/security/index.rst
LSM Development: Documentation/security/lsm-development.rst
Self Protection: Documentation/security/self-protection.rst
Reporting Vulnerabilities: Documentation/process/security-bugs.rst
CVE Procedures: Documentation/process/cve.rst
Embargoed Hardware Issues: Documentation/process/embargoed-hardware-issues.rst
Security Features: Documentation/userspace-api/seccomp_filter.rst
Backport/Maintenance Engineer
Maintain and stabilize kernel versions:
Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
Backporting Guide: Documentation/process/backporting.rst
Applying Patches: Documentation/process/applying-patches.rst
Subsystem Profile: Documentation/maintainer/maintainer-entry-profile.rst
Git for Maintainers: Documentation/maintainer/configure-git.rst
Configure, tune, and troubleshoot Linux systems:
Admin Guide: Documentation/admin-guide/index.rst
Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
Sysctl Tuning: Documentation/admin-guide/sysctl/index.rst
Tracing/Debugging: Documentation/trace/index.rst
Performance Security: Documentation/admin-guide/perf-security.rst
Hardware Monitoring: Documentation/hwmon/index.rst
Lead kernel subsystems and manage contributions:
Maintainer Handbook: Documentation/maintainer/index.rst
Pull Requests: Documentation/maintainer/pull-requests.rst
Managing Patches: Documentation/maintainer/modifying-patches.rst
Rebasing and Merging: Documentation/maintainer/rebasing-and-merging.rst
Development Process: Documentation/process/maintainer-handbooks.rst
Maintainer Entry Profile: Documentation/maintainer/maintainer-entry-profile.rst
Git Configuration: Documentation/maintainer/configure-git.rst
Write drivers and support new hardware:
Driver API Guide: Documentation/driver-api/index.rst
Driver Model: Documentation/driver-api/driver-model/driver.rst
Device Drivers: Documentation/driver-api/infrastructure.rst
Bus Types: Documentation/driver-api/driver-model/bus.rst
Device Tree Bindings: Documentation/devicetree/bindings/
Power Management: Documentation/driver-api/pm/index.rst
DMA API: Documentation/core-api/dma-api.rst
Package and distribute the kernel:
Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
ABI Documentation: Documentation/ABI/README
Kernel Configuration: Documentation/kbuild/kconfig.rst
Module Signing: Documentation/admin-guide/module-signing.rst
Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
Tainted Kernels: Documentation/admin-guide/tainted-kernels.rst
Communication and Support