Linux Kernel Boot Process in Depth
Follow the kernel from the bootloader hand-off to init: decompression, start_kernel, subsystems and device-tree parsing.
Advanced40 lessons
written lessons≈ 20 h
Embedded Linux & Multimedia · 40 illustrated lessons (text/HTML)
Outcomes
- Trace the kernel from bootloader hand-off to the first user process
- Explain how subsystems (memory, time, devices, PCI, USB) come up
- Diagnose boot failures on embedded platforms
Where we teach this
- EMB-201 · U-Boot Porting & Board Bring-Up live cohort
- KRN-101 · Kernel Architecture, Build & Modules live cohort
The lessons
Every lesson in this curriculum, in the order we teach it.
- 1Overall architecture of the boot process
- 2Bootloader-to-kernel hand-off
- 3Stage 1
- 4Architecture-specific initialisation
- 5The kernel decompression process in depth
- 6The start_kernel() function
- 7Trap and interrupt initialisation
- 8Early memory-management initialisation
- 9Processor-specific initialisation
- 10Console subsystem initialisation
- 11Time-subsystem bring-up
- 12Process-management subsystem bring-up
- 13Full memory-management initialisation
- 14VFS initialisation
- 15Device-model initialisation
- 16Block-device subsystem bring-up
- 17Character-device initialisation: terminal and serial drivers
- 18Network subsystem bring-up
- 19Module-subsystem initialisation
- 20ACPI subsystem bring-up in depth
- 21PCI subsystem initialisation
- 22USB subsystem bring-up
- 23File-system initialisation
- 24Security subsystem bring-up
- 25Creating kernel threads
- 26Softirqs and task queues
- 27RCU initialisation: setting up read-copy-update
- 28The performance monitoring subsystem
- 29Device-tree parsing
- 30Firmware interface initialisation
- 31Virtualisation support during boot
- 32Container-support initialisation
- 33Power-management bring-up
- 34Debug-subsystem initialisation
- 35Kernel parameter handling
- 36initramfs handling
- 37Preparing the switch to user space: root filesystem switch and running init
- 38System-call initialisation
- 39Signal-handling initialisation
- 40Boot completion and summary
All-access library
Every curriculum on this page, with the labs and lab sequences, for a year.