hobby kernel in zig
WARNING: this project was written for zig 0.5, it doesn’t compile for future versions
![]()
features
- 80x25 frame buffer
- ps2 keyboard driver
- terminal console
- lspci
- x86
- scheduler
- time slice preemption with round robin
- sleep()
- block()/unblock()
- Storage
- IDE ATA driver (in progress)
dependencies
compiling
zig build compiles and links the multiboot kernel (without a bootloader)
running
./qemu.sh start
./qemu.sh monitor
./qemu.sh quit
gdb (see provided .gdbinit)
Notes
interrupt call chain
interrupt -> idt[n] -> isrN -> isrDispatch -> handlers[n] (default unhandled())
References