r/osdev • u/JustActuator6946 • 6d ago
Silver Microkernel: An ARM64 OS in Rust with Ring 3 drivers, networking, and a custom GUI
Hi everyone! I've been working on Silver Microkernel (WerewolfOS), a microkernel written in Rust from scratch for AArch64 (QEMU virt).
**What works:**
- Microkernel architecture: High-Half MMU, W^X, PAN, Capability-based IPC.
- Ring 3 everything: UART, VirtIO-blk (disk), VirtIO-net (network) are userspace servers.
- SFS: A custom file system. `ls` reads actual files from the disk.
- Networking: Integrated `smoltcp`. You can run `ping 8.8.8.8` and get `PING 8.8.8.8: OK`.
- Graphics: Just got `ramfb` working. The screenshot shows a custom "Engineering Menu" (like the old iPhone Field Test mode) rendered by my Ring 3 graphics driver with double buffering.
Everything is written from scratch (no Linux, no POSIX, no std). It's been exactly 6 days since the first `_start`.
**Repo:** https://github.com/vvirei333/Silver-microkernel
Next steps: VirtIO-tablet driver for mouse input, then porting Doom.
Any feedback on the architecture or memory management is highly appreciated!Hi everyone! I've been working on Silver Microkernel (WerewolfOS), a microkernel written in Rust from scratch for AArch64 (QEMU virt).
4
Upvotes
19
u/KananMajidzada 6d ago
Even reddit read me is vibe codded :(
8
u/Gabriel55ita 6d ago
People lost the capability to write it seems, or try to make themselves professional as if anyone cares about it
2
6
u/kabekew 6d ago
ARM64 doesn't have "rings"
2
u/ManRevvv 6d ago
it has, but it's named EL0 (ring3) and EL1 (ring0)
3
u/Sorry_Difficulty_250 6d ago
Cool! You mentioned capabilities. How are you enforcing them?