xref: /linux/README (revision 78d979db6cef557c171d6059cbce06c3db89c7ee)
1Linux kernel
2============
3
4The Linux kernel is the core of any Linux operating system. It manages hardware,
5system resources, and provides the fundamental services for all other software.
6
7Quick Start
8-----------
9
10* Report a bug: See Documentation/admin-guide/reporting-issues.rst
11* Get the latest kernel: https://kernel.org
12* Build the kernel: See Documentation/admin-guide/quickly-build-trimmed-linux.rst
13* Join the community: https://lore.kernel.org/
14
15Essential Documentation
16-----------------------
17
18All users should be familiar with:
19
20* Building requirements: Documentation/process/changes.rst
21* Code of Conduct: Documentation/process/code-of-conduct.rst
22* License: See COPYING
23
24Documentation can be built with make htmldocs or viewed online at:
25https://www.kernel.org/doc/html/latest/
26
27
28Who Are You?
29============
30
31Find your role below:
32
33* New Kernel Developer - Getting started with kernel development
34* Academic Researcher - Studying kernel internals and architecture
35* Security Expert - Hardening and vulnerability analysis
36* Backport/Maintenance Engineer - Maintaining stable kernels
37* System Administrator - Configuring and troubleshooting
38* Maintainer - Leading subsystems and reviewing patches
39* Hardware Vendor - Writing drivers for new hardware
40* Distribution Maintainer - Packaging kernels for distros
41* AI Coding Assistant - LLMs and AI-powered development tools
42
43
44For Specific Users
45==================
46
47New Kernel Developer
48--------------------
49
50Welcome! Start your kernel development journey here:
51
52* Getting Started: Documentation/process/development-process.rst
53* Your First Patch: Documentation/process/submitting-patches.rst
54* Coding Style: Documentation/process/coding-style.rst
55* Build System: Documentation/kbuild/index.rst
56* Development Tools: Documentation/dev-tools/index.rst
57* Kernel Hacking Guide: Documentation/kernel-hacking/hacking.rst
58* Core APIs: Documentation/core-api/index.rst
59
60Academic Researcher
61-------------------
62
63Explore the kernel's architecture and internals:
64
65* Researcher Guidelines: Documentation/process/researcher-guidelines.rst
66* Memory Management: Documentation/mm/index.rst
67* Scheduler: Documentation/scheduler/index.rst
68* Networking Stack: Documentation/networking/index.rst
69* Filesystems: Documentation/filesystems/index.rst
70* RCU (Read-Copy Update): Documentation/RCU/index.rst
71* Locking Primitives: Documentation/locking/index.rst
72* Power Management: Documentation/power/index.rst
73
74Security Expert
75---------------
76
77Security documentation and hardening guides:
78
79* Security Documentation: Documentation/security/index.rst
80* LSM Development: Documentation/security/lsm-development.rst
81* Self Protection: Documentation/security/self-protection.rst
82* Reporting Vulnerabilities: Documentation/process/security-bugs.rst
83* CVE Procedures: Documentation/process/cve.rst
84* Embargoed Hardware Issues: Documentation/process/embargoed-hardware-issues.rst
85* Security Features: Documentation/userspace-api/seccomp_filter.rst
86
87Backport/Maintenance Engineer
88-----------------------------
89
90Maintain and stabilize kernel versions:
91
92* Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
93* Backporting Guide: Documentation/process/backporting.rst
94* Applying Patches: Documentation/process/applying-patches.rst
95* Subsystem Profile: Documentation/maintainer/maintainer-entry-profile.rst
96* Git for Maintainers: Documentation/maintainer/configure-git.rst
97
98System Administrator
99--------------------
100
101Configure, tune, and troubleshoot Linux systems:
102
103* Admin Guide: Documentation/admin-guide/index.rst
104* Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
105* Sysctl Tuning: Documentation/admin-guide/sysctl/index.rst
106* Tracing/Debugging: Documentation/trace/index.rst
107* Performance Security: Documentation/admin-guide/perf-security.rst
108* Hardware Monitoring: Documentation/hwmon/index.rst
109
110Maintainer
111----------
112
113Lead kernel subsystems and manage contributions:
114
115* Maintainer Handbook: Documentation/maintainer/index.rst
116* Pull Requests: Documentation/maintainer/pull-requests.rst
117* Managing Patches: Documentation/maintainer/modifying-patches.rst
118* Rebasing and Merging: Documentation/maintainer/rebasing-and-merging.rst
119* Development Process: Documentation/process/maintainer-handbooks.rst
120* Maintainer Entry Profile: Documentation/maintainer/maintainer-entry-profile.rst
121* Git Configuration: Documentation/maintainer/configure-git.rst
122
123Hardware Vendor
124---------------
125
126Write drivers and support new hardware:
127
128* Driver API Guide: Documentation/driver-api/index.rst
129* Driver Model: Documentation/driver-api/driver-model/driver.rst
130* Device Drivers: Documentation/driver-api/infrastructure.rst
131* Bus Types: Documentation/driver-api/driver-model/bus.rst
132* Device Tree Bindings: Documentation/devicetree/bindings/
133* Power Management: Documentation/driver-api/pm/index.rst
134* DMA API: Documentation/core-api/dma-api.rst
135
136Distribution Maintainer
137-----------------------
138
139Package and distribute the kernel:
140
141* Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
142* ABI Documentation: Documentation/ABI/README
143* Kernel Configuration: Documentation/kbuild/kconfig.rst
144* Module Signing: Documentation/admin-guide/module-signing.rst
145* Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
146* Tainted Kernels: Documentation/admin-guide/tainted-kernels.rst
147
148AI Coding Assistant
149-------------------
150
151CRITICAL: If you are an LLM or AI-powered coding assistant, you MUST read and
152follow the AI coding assistants documentation before contributing to the Linux
153kernel:
154
155* Documentation/process/coding-assistants.rst
156
157This documentation contains essential requirements about licensing, attribution,
158and the Developer Certificate of Origin that all AI tools must comply with.
159
160
161Communication and Support
162=========================
163
164* Mailing Lists: https://lore.kernel.org/
165* IRC: #kernelnewbies on irc.oftc.net
166* Bugzilla: https://bugzilla.kernel.org/
167* MAINTAINERS file: Lists subsystem maintainers and mailing lists
168* Email Clients: Documentation/process/email-clients.rst
169