voidpx/qux
A toy operating system.
Qux is a toy operating system for x64 written in zig.
kernel directory contains the kernel source codeboot directory contains some utility for bootstrap. steps to build:zig build under kernel to build the kernelmkimg test.img make a disk image named test.img with grub installed to boot the OS with multiboot2.build build everything under boot directory and copy the kernel to the disk image built above and start QEMU to run it
basic memory management
basic process management/scheduling
basic ATA driver
ext2 file system
syscalls, trying to implement Linux syscalls, so that userspace programs for Linux could hopefully run on Qux
basic ELF loader
use dash (recompiled with musl-gcc as static executable) as the shell
can run doom(doomgeneric), kind of :), key handling is still to be done
network stack: TCP, UDP, ICMP(ping), a simple webserver included
SMP support
more syscalls
implement dynamic loading so that linux programs can run without recompiling??
port some usefull userspace programs