A hobby operating system, written from scratch in C for x86 (i386). I work on it in my spare time for fun and to learn more about how operating systems work under the hood.
To build and run walaos you'll need:
- A
i686-elfcross-compiler toolchain (i686-elf-gcc,i686-elf-ar,i686-elf-as) grub-mkrescueandgrub-file(for building the bootable ISO)xorriso(used bygrub-mkrescue)qemu(to run the OS,qemu-system-i386)
./build.sh # builds libc + kernel into sysroot
./iso.sh # builds a bootable ISO
./qemu.sh # builds and boots the ISO in QEMU
Done:
- Cross-compiler toolchain and build system
- GRUB multiboot boot + bootable ISO
- GDT setup
- IDT / ISR setup
- PIC remapping
- PIT timer
- Serial logging
- VGA text mode terminal (with cursor)
- Keyboard input
- Kernel panic handling
- Formatted printing (printf-style)
To do:
- Physical/virtual memory management (paging)
- Heap allocator
- Multitasking / scheduler
- System calls
- Userspace processes
- Filesystem