KRN-102 · Linux Kernel Core

Building & Configuring the Kernel

Configure, build, install and boot a kernel you compiled yourself, and understand what the thousands of config options actually do.

Foundation 2 days in person4 half-days online Max 14 in person

Who this course is for

Engineers who have only ever run distribution kernels and now need to configure, build, boot and debug their own — embedded and platform engineers in particular.

Prerequisites

Command-line LinuxBasic C helpful but not requiredA machine or VM with build tools

Course outline

Day 1 — Configure and build

  • kernel.org trees: mainline, stable, longterm and how distro kernels differ
  • Kconfig structure; defconfigs, oldconfig and menuconfig in practice
  • What the major option groups actually control
  • Cross-compilation: ARCH, CROSS_COMPILE and toolchain setup
  • Building vmlinux and modules; initramfs generation and what belongs in it

Day 2 — Boot, debug and bisect

  • Boot parameters that matter; early console and earlyprintk
  • Debugging a kernel that will not boot: systematically halving the problem
  • Reading build artifacts: vmlinux sections and symbols with readelf, nm and System.map
  • Kernel size analysis and what to cut
  • Bisecting a regression with git bisect from known-good to broken

Hands-on labs

Labs follow the academy model — 35% principles, 20% guided investigation, 45% engineering studio. Every claim you make in a lab is backed by a trace, a counter or a measurement you captured yourself. How we teach

  1. Lab: configure and build a kernel from upstream source for a QEMU target and boot it with your own initramfs
  2. Lab: cross-compile the same tree for a foreign architecture and explain what changed and why
  3. Lab: break the boot deliberately (missing driver, wrong root=) and recover using boot parameters and early console
  4. Lab: bisect an injected regression between two kernel versions with git bisect and identify the bad commit

Capstone project

Build a minimal bootable kernel/image pair from upstream source for a QEMU target: a pinned configuration with a written justification for every non-default option you chose, the build log, a size report, and a boot transcript reaching a shell — plus the single command that reproduces the entire build on a clean machine.

What you leave with

  • A reproducible build recipe: pinned config, toolchain and command
  • Confidence with Kconfig, defconfigs and cross-compilation
  • A boot-failure debugging procedure that converges
  • git bisect as a working tool, not a party trick

How it runs

Every course follows the same model: 35% principles, 20% guided investigation, 45% engineering studio. You leave with working code, raw measurements and an evidence-based report — not a certificate of attendance. Read the methodology or see a full sample lesson.

Material is adapted to your kernel version, hardware and workload before a private delivery. For public cohorts, the environment is provided and configured.

Questions

Who is this course for?

Engineers who have only ever run distribution kernels and now need to configure, build, boot and debug their own — embedded and platform engineers in particular. It sits at foundation level within the Linux Kernel Core track.

What do I need to know already?

Specific prerequisites for this course: Command-line Linux; Basic C helpful but not required; A machine or VM with build tools. We confirm levels before the cohort starts and adapt if a group is stronger or weaker than expected.

Can this run privately for my team?

Yes. Any course runs on-site at your offices anywhere, or live online for a distributed team, with labs adapted to your hardware and codebase.

What is the difference between in-person and online?

In person is 2 full days with hardware on your desk, capped at 14. Online is 4 half-day sessions across about two weeks so you can keep working, capped at 20, with remote lab access.

Do you invoice companies?

Yes. Purchase orders are accepted and invoicing is available in USD, EUR, GBP, SAR and CAD.

Upcoming dates

DatesWhereSeatsEarly birdRegular
18 Oct – 19 Oct 20262 full days RiyadhIn person · KAFD Conference Centre 4 of 14 —SAR 4,500
25 Oct – 26 Oct 20262 full days Kuwait CityIn person · Al Hamra Tower 9 of 14 —KWD 370
25 Oct – 26 Oct 20262 full days MuscatIn person · Knowledge Oasis Muscat 4 of 14 —OMR 460
1 Nov – 4 Nov 20264 half-days Gulf bandLive online · 09:00–13:00 GMT+3 16 of 20 —US$850
2 Nov – 3 Nov 20262 full days OttawaIn person · Kanata North Tech Park 9 of 14 —CAD 1,630
9 Nov – 10 Nov 20262 full days TorontoIn person · MaRS Discovery District 4 of 14 CAD 1,470until 10 OctCAD 1,630
9 Nov – 10 Nov 20262 full days LondonIn person · Shoreditch Works 9 of 14 GBP 850until 10 OctGBP 940
9 Nov – 12 Nov 20264 half-days Europe bandLive online · 09:00–13:00 CET 5 of 20 US$760until 10 OctUS$850
9 Nov – 12 Nov 20264 half-days Americas bandLive online · 13:00–17:00 ET 10 of 20 US$760until 10 OctUS$850
16 Nov – 17 Nov 20262 full days BerlinIn person · Factory Görlitzer Park 4 of 14 EUR 990until 17 OctEUR 1,100

Dates shown for the next few months. If nothing fits, tell us where and when — cohorts are added on demand, and private delivery can be scheduled any week.

More in Linux Kernel Core

KRN-1013 days Kernel Architecture & Source Navigation A guided tour of the kernel tree: how it is organised, how subsystems relate, and how to find the code you need. Foundation Practitioner-taught SAR 6,750Next 18 Oct KRN-1103 days Modules & the Kernel Build System Kbuild, module loading, symbol resolution and the module lifecycle from insmod to rmmod. Foundation Practitioner-taught SAR 6,750Next 15 Nov KRN-2014 days Process Lifecycle & Scheduling How processes are created, scheduled and destroyed, and how scheduling decisions show up as latency in your application. Practitioner Practitioner-taught SAR 10,500Next 8 Nov KRN-2103 days CFS to EEVDF Internals The fair scheduler in depth, the move to EEVDF, and what changed for latency-sensitive workloads. Advanced Practitioner-taught SAR 9,000Next 18 Oct KRN-2112 days CPU Isolation & Affinity Taking CPUs away from the kernel for latency-critical work: isolcpus, nohz_full, RCU offload and the gotchas. Advanced Practitioner-taught SAR 6,000Next 25 Oct KRN-2204 days Virtual Memory & Page Tables Address spaces, page tables, faults and mappings — the machinery behind every memory access your program makes. Practitioner Practitioner-taught SAR 10,500Next 22 Nov KRN-2213 days Allocators: Buddy, Slab, vmalloc How the kernel allocates memory at every scale, and how allocator behaviour surfaces as fragmentation and latency. Advanced Practitioner-taught SAR 9,000Next 22 Nov KRN-2223 days Memory Pressure, OOM & cgroup v2 What happens when memory runs out: reclaim, swap, the OOM killer, and cgroup v2 limits that throttle silently. Advanced Practitioner-taught SAR 9,000Next 22 Nov KRN-2303 days Kernel Locking Primitives Every locking primitive the kernel offers, when each is correct, and the deadlocks that follow from choosing wrong. Practitioner Practitioner-taught SAR 7,880Next 8 Nov KRN-2313 days RCU in Depth Read-copy-update from first principles: grace periods, publish-subscribe, and why RCU is everywhere in the kernel. Advanced Practitioner-taught SAR 9,000Next 8 Nov KRN-2323 days Memory Barriers & the Kernel Memory Model The hardest correctness topic in the kernel: reordering, barriers, and reasoning about concurrent code that actually holds. Expert Practitioner-taught SAR 10,120Next 8 Nov