Master the fundamental concepts of the boot process: theory through this focused micro-challenge.
Three hints are available for this task, revealed one at a time inside the code workspace so you can struggle productively before seeing them.
Every task includes starter code, theory, and hidden tests so you can implement and verify locally in the browser.
How it worksPressing the power button starts a fixed chain: PSU stabilization, CPU reset at the firmware entry point, POST and boot-device selection, bootloader work, then kernel init. Each stage has distinct responsibilities and failure modes. For example, a hang with no video often means POST never finished, while a GRUB prompt means firmware succeeded but the kernel path failed.
0xFFFFFFF0 with CS=0xF000, IP=0xFFF0 (effective 0xFFFF0).0x7C00.cLoading…
You will document each stage from PSU through OS init with addresses, timing, and an ASCII flow diagram. This exercise requires explaining why the reset vector sits at 0xFFFFFFF0 and how BIOS differs from UEFI before any bootloader code runs.
A PC boots through five stages in a fixed order: psu, reset, post, bootloader, kernel. Check a recorded trace against that order, as you would when diagnosing a machine that hangs at POST or in GRUB. Keep the order in a table and walk it, rather than writing one strcmp branch per stage.
N, then N stage names, one per line.
One line per event, numbered from 1:
step i: <stage> OK. After the fifth stage, print BOOT CHAIN COMPLETE.step i: <name> IGNORED (chain already complete).step i: FAIL (expected <stage>, got <name>), then BOOT CHAIN INCOMPLETE (next is <stage>), and stop reading.If the trace ends before all five stages, finish with BOOT CHAIN INCOMPLETE (next is <stage>).