Skip to content

Booting

Category

10 articles

  • 01
    ACPI

    The firmware tables a kernel parses to find its CPUs, its I/O APICs, and its PCI Express configuration space.

  • 02
    BIOS vs. UEFI

    How the two major firmware interfaces differ, and what that means for how your OS gets loaded.

  • 03
    Bootloaders

    What a bootloader is responsible for, and the tradeoffs between writing your own and using GRUB.

  • 04
    Multiboot

    The Multiboot specification GRUB and other bootloaders use to hand control to a kernel.

  • 05
    Network 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.

  • 06
    Partition 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.

  • 07
    Resetting 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.

  • 08
    The 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.

  • 09
    The Boot Process

    The sequence of events from power-on to your first instruction.

  • 10
    Writing 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.