Start from a bootloader and build your way up to a functional operating system kernel running in protected mode. You will implement paging, interrupt handling via IDT, a VGA text-mode driver, and a round-robin process scheduler. This project teaches you what happens between the bootloader and main().
The whole plan below is free to read: every milestone, its build steps, how to verify it, and which tasks and visualizations to use. Tracking your progress, the completion certificate and the graded tasks it links to need a plan.
Sign inEach milestone opens into the build order, a way to check your work, the tasks that drill its pieces, and the visualizations that show the machinery. Work top to bottom.
QEMU boots your kernel and it prints from its own code.
qemu-system-i386 -kernel prints your banner, and the monitor shows CR0.PE set with CS pointing at your code descriptor.
There is no upload step. You build this on your own machine, in your own repository, and tick each milestone off here as it works. Finish all 5 and you get a certificate with a verification id; connect GitHub first and a gist artifact is created alongside it.