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.
-
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)
- Install
sudo apt install nasm make git grub-common xorriso qemu-system-x86 build-essentialNote: For Zig, check their installation guides.
- Build
Warning
Errors may occur, and its either make or im too stupid for make :p
make- 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.isoNote that this README may or will changed as the projects grows. Check the MANUAL also for more details.
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.
The Sappho Kernel is under the license of aGPL 3 (Afferno General Public License 3)
That's All! Made with love of course :3