xref: /linux/README (revision f96163865a1346b199cc38e827269296f0f24ab0)
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
42
43For Specific Users
44==================
45
46New Kernel Developer
47--------------------
48
49Welcome! Start your kernel development journey here:
50
51* Getting Started: Documentation/process/development-process.rst
52* Your First Patch: Documentation/process/submitting-patches.rst
53* Coding Style: Documentation/process/coding-style.rst
54* Build System: Documentation/kbuild/index.rst
55* Development Tools: Documentation/dev-tools/index.rst
56* Kernel Hacking Guide: Documentation/kernel-hacking/hacking.rst
57* Core APIs: Documentation/core-api/index.rst
58
59Academic Researcher
60-------------------
61
62Explore the kernel's architecture and internals:
63
64* Researcher Guidelines: Documentation/process/researcher-guidelines.rst
65* Memory Management: Documentation/mm/index.rst
66* Scheduler: Documentation/scheduler/index.rst
67* Networking Stack: Documentation/networking/index.rst
68* Filesystems: Documentation/filesystems/index.rst
69* RCU (Read-Copy Update): Documentation/RCU/index.rst
70* Locking Primitives: Documentation/locking/index.rst
71* Power Management: Documentation/power/index.rst
72
73Security Expert
74---------------
75
76Security documentation and hardening guides:
77
78* Security Documentation: Documentation/security/index.rst
79* LSM Development: Documentation/security/lsm-development.rst
80* Self Protection: Documentation/security/self-protection.rst
81* Reporting Vulnerabilities: Documentation/process/security-bugs.rst
82* CVE Procedures: Documentation/process/cve.rst
83* Embargoed Hardware Issues: Documentation/process/embargoed-hardware-issues.rst
84* Security Features: Documentation/userspace-api/seccomp_filter.rst
85
86Backport/Maintenance Engineer
87-----------------------------
88
89Maintain and stabilize kernel versions:
90
91* Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
92* Backporting Guide: Documentation/process/backporting.rst
93* Applying Patches: Documentation/process/applying-patches.rst
94* Subsystem Profile: Documentation/maintainer/maintainer-entry-profile.rst
95* Git for Maintainers: Documentation/maintainer/configure-git.rst
96
97System Administrator
98--------------------
99
100Configure, tune, and troubleshoot Linux systems:
101
102* Admin Guide: Documentation/admin-guide/index.rst
103* Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
104* Sysctl Tuning: Documentation/admin-guide/sysctl/index.rst
105* Tracing/Debugging: Documentation/trace/index.rst
106* Performance Security: Documentation/admin-guide/perf-security.rst
107* Hardware Monitoring: Documentation/hwmon/index.rst
108
109Maintainer
110----------
111
112Lead kernel subsystems and manage contributions:
113
114* Maintainer Handbook: Documentation/maintainer/index.rst
115* Pull Requests: Documentation/maintainer/pull-requests.rst
116* Managing Patches: Documentation/maintainer/modifying-patches.rst
117* Rebasing and Merging: Documentation/maintainer/rebasing-and-merging.rst
118* Development Process: Documentation/process/maintainer-handbooks.rst
119* Maintainer Entry Profile: Documentation/maintainer/maintainer-entry-profile.rst
120* Git Configuration: Documentation/maintainer/configure-git.rst
121
122Hardware Vendor
123---------------
124
125Write drivers and support new hardware:
126
127* Driver API Guide: Documentation/driver-api/index.rst
128* Driver Model: Documentation/driver-api/driver-model/driver.rst
129* Device Drivers: Documentation/driver-api/infrastructure.rst
130* Bus Types: Documentation/driver-api/driver-model/bus.rst
131* Device Tree Bindings: Documentation/devicetree/bindings/
132* Power Management: Documentation/driver-api/pm/index.rst
133* DMA API: Documentation/core-api/dma-api.rst
134
135Distribution Maintainer
136-----------------------
137
138Package and distribute the kernel:
139
140* Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
141* ABI Documentation: Documentation/ABI/README
142* Kernel Configuration: Documentation/kbuild/kconfig.rst
143* Module Signing: Documentation/admin-guide/module-signing.rst
144* Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
145* Tainted Kernels: Documentation/admin-guide/tainted-kernels.rst
146
147
148
149Communication and Support
150=========================
151
152* Mailing Lists: https://lore.kernel.org/
153* IRC: #kernelnewbies on irc.oftc.net
154* Bugzilla: https://bugzilla.kernel.org/
155* MAINTAINERS file: Lists subsystem maintainers and mailing lists
156* Email Clients: Documentation/process/email-clients.rst
157