KRN-101 · Linux Kernel Core · Foundation
Kernel Architecture & Source Navigation — full syllabus
A guided tour of the kernel tree: how it is organised, how subsystems relate, and how to find the code you need.
Who this course is for
Engineers newly expected to read or change kernel code — driver, BSP and platform developers who currently bounce off the tree's size and need a reliable way to find what matters.
Prerequisites
- Ability to read C
- Command-line Linux
- Basic git (clone, log)
Course outline
Day 1 — The tree and its boundaries
- Top-level layout: kernel/, mm/, fs/, drivers/, arch/, include/, Documentation/, tools/
- Subsystem boundaries and who owns what: reading MAINTAINERS
- How an architecture port plugs into the generic code
- Kernel coding style and core idioms: list_head, container_of, ERR_PTR error pointers
- Kbuild and Kconfig as a map of what actually gets compiled
Day 2 — Following execution through the source
- A system call's path: libc wrapper, syscall instruction, arch entry code, the implementation
- Syscall tables and where prototypes live
- initcalls and boot-time ordering
- Where printk output originates and how to find the emitter
- Guided source walk: one full path read end to end with the class
Day 3 — Reading like a maintainer
- git log, blame and describe as documentation
- Documentation/ — what is current, what is stale, how to tell
- Following a real bug report to its fix commit
- Indexing the tree with cscope, ctags and modern LSP-based tools
- Building a personal map of a subsystem you have never entered
Hands-on labs
- Lab: follow a real syscall from userspace entry to its kernel implementation, recording every file and function on the path
- Lab: index the tree with cscope/ctags and answer a set of where-is-it-defined and who-calls-this questions against the source
- Lab: trace the git history of one real fix from report to merged commit and extract the reasoning
- Lab: map one unfamiliar subsystem — directories, MAINTAINERS entry, Kconfig symbols, init path — into a one-page briefing
Capstone project
Produce a source-level navigation dossier for a subsystem you have never worked in: its directory layout and MAINTAINERS entry, the Kconfig symbols that gate it, its init path, the entry points userspace reaches, and a worked example of locating one specific behaviour in code. You keep the dossier and the method — both transfer to any subsystem you meet next.
What you leave with
- A repeatable method for finding any code path in the kernel tree
- Working fluency with cscope, ctags and git archaeology
- Reading fluency for kernel idioms (list_head, container_of, ERR_PTR)
- A subsystem map you built yourself and can rebuild for any other
Upcoming dates
| Dates | Where | Seats | Early bird | Regular | |
|---|---|---|---|---|---|
| 18 Oct – 20 Oct 20263 full days | RiyadhIn person · KAFD Conference Centre | 3 of 14 | — | SAR 6,750 | |
| 25 Oct – 27 Oct 20263 full days | Kuwait CityIn person · Al Hamra Tower | 8 of 14 | — | KWD 560 | |
| 25 Oct – 27 Oct 20263 full days | MuscatIn person · Knowledge Oasis Muscat | 3 of 14 | — | OMR 690 | |
| 1 Nov – 8 Nov 20266 half-days | Gulf bandLive online · 09:00–13:00 GMT+3 | 15 of 20 | — | US$1,300 | |
| 2 Nov – 4 Nov 20263 full days | OttawaIn person · Kanata North Tech Park | 8 of 14 | — | CAD 2,450 | |
| 2 Nov – 9 Nov 20266 half-days | Europe bandLive online · 09:00–13:00 CET | 4 of 20 | — | US$1,300 | |
| 9 Nov – 11 Nov 20263 full days | TorontoIn person · MaRS Discovery District | 3 of 14 | CAD 2,200until 10 Oct | ||
| 9 Nov – 11 Nov 20263 full days | LondonIn person · Shoreditch Works | 8 of 14 | GBP 1,260until 10 Oct | ||
| 9 Nov – 16 Nov 20266 half-days | Americas bandLive online · 13:00–17:00 ET | 9 of 20 | US$1,170until 10 Oct | ||
| 16 Nov – 18 Nov 20263 full days | BerlinIn person · Factory Görlitzer Park | 3 of 14 | EUR 1,490until 17 Oct |
Book a seat, or bring this course to your team
Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.
Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.