FerriteOS
- 2 Devlogs
- 7 Total hours
A custom Linux-ABI compatible kernel written entirely from scratch and in Rust
A custom Linux-ABI compatible kernel written entirely from scratch and in Rust
Tried to implement a live web demo using a wasm implementation of qemu with UEFI and more, but couldnt get it to run.
Also, I heavily improved documentation and finished up the virtual memory manager (for now…).
Next, the heap allocator is coming then I’ll finally be able to use dynamic types!
(Well, idk if you can call it a whole OS if im only planning to do a kernel, but anyways)
My end goal is for it to be able to run systemd, GNOME and more. But thats a very, VERY distant goal. For now, im focusing on getting a statically linked C binary running in userspace.
I’ve already managed to get some basic logging via serial and a basic framebuffer going, aswell as x86_64 GDT, IDT, TSS and a physical aswell as a very slim virtual memory manager.
Next, I’ll be “finishing” up the VMM a little to be able to start work on the heap allocator, which will enable use of datatypes like Vec, Box and more.
For anyone interested in the more technical stuff:
The build toolchain works through python scripts, which use docker to build and then QEMU to run the kernel.
I’m mainly targeting x86_64, but aarch64 support is also my plan (but I’ll be focusing on x86_64 during this challenge).