Open-Source Wikis

/

Linux

/

Linux kernel

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/, including perf, 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.

Linux kernel – Linux wiki | Factory