Skip to content

Repository files navigation

Sappho Kernel

Sappho is an experimental operating system (os) kernel written in Zig, with a low-level layer written in Assembly where it actually makes sense.

Not a "framework", an abstraction, or "just use a library" BS.

Actual memory layout. Boot process. Interrupts. Linking. Bare metal mistakes. Undefined behavior (ub). The fun parts also.

This is currently an early-stage hobby project focused on understanding kernel architectures from the ground up while building something that's both education and real.

Important

Right now, development is still heavily centered around the bootloader, drivers (io, screens, etc.), memory, and the shell.

Setup

  • Prerequisites:

  • Zig (0.14 and above)

  • NASM (Netwide Assembler)

  • make

  • git (obviously)

  • grub-common lib (comes with grub-mkrescue & grub-file)

  • ld (linker)

  • Qemu or VirtualBox (Qemu is recommended)

  1. Install
sudo apt install nasm make git grub-common xorriso qemu-system-x86 build-essential

Note: For Zig, check their installation guides.

  1. Build

Warning

Errors may occur, and its either make or im too stupid for make :p

  make
  1. Test

With Qemu!

Note

For early development, i386 architecture as this is an early development phase of the kernel, if you want to expand it though feel free to contribute!

  qemu-system-i386 -cdrom sappho.iso

Note that this README may or will changed as the projects grows. Check the MANUAL also for more details.

Contribution

I'm really glad and appreciated for your interest and plans of contribution for this kernel project <3 It's a hobby one, but who knows maybe i can use this as a project for my college/university for a degree, thank you so much!! You're free to fork, send a PR, and make an Issue of this project, just make sure to read the License first.

License

The Sappho Kernel is under the license of aGPL 3 (Afferno General Public License 3)

That's All! Made with love of course :3

About

The Sappho Kernel

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages