Roadmap
Every page in this section declares its prerequisites in front matter, and the build fails on a prerequisite that does not resolve to a real page or on a dependency cycle. The Before this, Next, and Related chips at the top and bottom of every page are generated from those declarations rather than hand-maintained, so the page you are on always knows what it needs. This page is the editorial route through it — the order a human would actually want to read in, not the raw dependency graph.
Learning paths
Paths are filled in as the folders they cross are written. Folders 00 through 10 exist now; the rest of the section is specified but not yet scaffolded.
I just want to understand my machine
I want to read kernel source
- 1The hardware the kernel assumes
- 2Monolithic, with modules
- 3The source tree, mapped
- 4The kernel is not C you know
- 5Kernel data structures
- 6container_of and embedded structs
- 7Error-handling idioms
- 8The entry path
- 9`task_struct`: the anatomy of a task
- 10`mm_struct` and VMAs
- 11Why kernel concurrency is different
I want to build and debug a kernel
I want to understand boot
My boot is broken
Crash and oops reading lands with folder 17.
I want to write a module
A real character driver is built in folder 14.
My server is slow
I/O and network diagnosis land with folders 12 and 13; the tooling to go with all of this lands with folder 17.
I want to understand memory
I want to write correct concurrent kernel code
Where the rest is
Folders 11 through 19 remain specified and not yet scaffolded, covering the VFS, block I/O, networking, drivers, containers, security, observability, eBPF, and contributing.