Booting
Category
10 articles
- 01ACPI
The firmware tables a kernel parses to find its CPUs, its I/O APICs, and its PCI Express configuration space.
- 02BIOS vs. UEFI
How the two major firmware interfaces differ, and what that means for how your OS gets loaded.
- 03Bootloaders
What a bootloader is responsible for, and the tradeoffs between writing your own and using GRUB.
- 04Multiboot
The Multiboot specification GRUB and other bootloaders use to hand control to a kernel.
- 05Network Boot (PXE)
Firmware running a NIC's own expansion ROM before any disk is touched, DHCP extended with boot-specific options, and a TFTP transfer taking the place of a disk read.
- 06Partition Tables, MBR and GPT
How a disk is actually divided into partitions: the classic MBR's four 16-byte entries, the limits that motivated GPT, and GPT's GUID-identified entry array.
- 07Resetting and Shutting Down (Reset and ACPI Power States)
x86 offers no single instruction for either: the 8042 reset pulse, the ACPI FADT reset register, the triple fault of last resort, and why powering off needs AML.
- 08The A20 Line
A compatibility quirk from the original 8086's address wraparound, and why it has to be disabled before memory above 1 MB behaves correctly.
- 09The Boot Process
The sequence of events from power-on to your first instruction.
- 10Writing a UEFI Bootloader
A PE32+ binary instead of raw ELF, Boot Services for the memory map and a GOP framebuffer, and the ExitBootServices call after which the kernel is entirely on its own.