torvalds/linux
Linux kernel
The Linux kernel is the core of any Linux operating system. It manages CPU scheduling, memory, files, networking, devices, and security primitives, and provides the system-call interface that user-space programs depend on. Started by Linus Torvalds in 1991, the project is now one of the largest and most active open-source codebases in the world.
This wiki is generated from the master branch at commit 57b8e2d666a3 (Linux 7.1-rc1). It is a tour of the source tree aimed at people who want to read or modify kernel code, not a substitute for the official Documentation/ tree which the kernel ships with.
What is in this repository
The repository contains:
- The complete kernel source code organized by subsystem (
kernel/,mm/,fs/,net/,block/,crypto/,security/,ipc/,io_uring/,virt/,sound/,drivers/,arch/) - Architecture support for ~22 CPU families under
arch/ - Device drivers under
drivers/(the largest single area, ~1.2 GB of source) - A growing Rust support layer under
rust/ - Build infrastructure (
Makefile,Kbuild,Kconfig*,scripts/) - In-tree tools (
tools/, includingperf,bpftool,cpupower, the BPF and KVM selftests, libbpf) - Sample code (
samples/) and the early userspace generator (usr/) - Reference documentation in reStructuredText (
Documentation/)
For the build entry point, read Makefile. For the boot-time entry point of the kernel proper, read init/main.c.
How to use this wiki
- Read Architecture first to get a big picture of how the source tree maps to the running kernel.
- Getting started shows how to build, boot, and test a kernel.
- Glossary defines terms used throughout the kernel and the rest of the wiki (RCU, NMI, slab, page cache, etc.).
- For per-area depth, jump into Subsystems. Each subsystem page maps a top-level source directory to its purpose, key files, and entry points for modification.
- How to contribute explains the patch-by-email workflow that the kernel community actually uses (this repository is not the place to open pull requests; see that section for the real process).
Project facts at a glance
| Item | Value |
|---|---|
| Started | September 1991 |
| Current version | 7.1-rc1 |
Source files (*.c/*.h/*.rs/*.S) |
~65,000 |
| Architectures supported | 22 (under arch/) |
| Top-level subsystems | 18 directories under repo root |
| License | GPL-2.0-only (see COPYING) |
| Authoritative URL | https://git.kernel.org and https://kernel.org |
For more numbers, see By the numbers. For history, see Lore.
What this wiki is not
It is not generated documentation in the kernel-doc sense. The kernel produces its own HTML at https://www.kernel.org/doc/html/latest/ from Documentation/ using Sphinx. That documentation is the source of truth for ABI guarantees, sysctl knobs, command-line parameters, and subsystem-specific design. This wiki is a navigation aid into the source tree, written from the perspective of a reader who already has the repository checked out.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.