Skip to content

AlexanderWangY/walaos

Repository files navigation

walaos

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.

Requirements

To build and run walaos you'll need:

  • A i686-elf cross-compiler toolchain (i686-elf-gcc, i686-elf-ar, i686-elf-as)
  • grub-mkrescue and grub-file (for building the bootable ISO)
  • xorriso (used by grub-mkrescue)
  • qemu (to run the OS, qemu-system-i386)

Building

./build.sh   # builds libc + kernel into sysroot
./iso.sh     # builds a bootable ISO
./qemu.sh    # builds and boots the ISO in QEMU

Checklist

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

About

WalaOS is a toy operating system for learning purposes. It follows the OSDev Wiki.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors