BIOS and UEFI
What the firmware does before anything Linux exists, and why UEFI made boot loaders simpler and boot debugging harder.
The boot chain
The whole handoff sequence in one diagram, with the exact artefact passed at each step and where each one lives on disk.
Boot loaders
GRUB 2, systemd-boot, and direct EFI stub boot — and the four things any boot loader must do.
Kernel command line
How parameters reach the kernel, how they are parsed, and the dozen worth knowing — the most useful boot debugging tool there is.
Secure Boot
The chain of trust from firmware keys to a signed kernel and signed modules, and what it does and does not protect against.
Inside bzImage
The layout of a compressed kernel image, and why vmlinux, vmlinuz, and bzImage are three different things.
Early boot
x86-64 from 16-bit entry through protected mode and early page tables into long mode, and the far simpler arm64 equivalent.
start_kernel
What the kernel brings up and in what order, and why driver initialisation order is a level rather than a list.
initramfs
Why a root filesystem needs a root filesystem, and how the chicken-and-egg is broken.
switch_root and PID 1
Mounting the real root, the three constantly-confused ways to change it, and what makes PID 1 special.
systemd model
Units, the separation of dependency from ordering, targets instead of runlevels, and the transaction computed at every boot.
systemd and boot debugging
Socket activation, journald, and unit supervision, then the playbook for a machine that will not finish booting.