logoalt Hacker News

hexagonal-sunlast Saturday at 7:11 AM7 repliesview on HN

Hello!

For the past 8 months, or so, I've been working on a project to create a Linux-compatible kernel in nothing but Rust and assembly. I finally feel as though I have enough written that I'd like to share it with the community!

I'm currently targeting the ARM64 arch, as that's what I know best. It runs on qemu as well as various dev boards that I've got lying around (pi4, jetson nano, AMD Kria, imx8, etc). It has enough implemented to run most BusyBox commands on the console.

Major things that are missing at the moment: decent FS driver (only fat32 RO at the moment), and no networking support.

More info is on the github readme.

https://github.com/hexagonal-sun/moss

Comments & contributions welcome!


Replies

phkahlertoday at 2:02 PM

Love the MIT license. If this were further along we could use this as the foundation of our business without having to "give back" device drivers and other things.

show 5 replies
andrewl-hntoday at 1:55 PM

> no networking support

Would something like Smoltcp be of help here? https://github.com/smoltcp-rs/smoltcp

Great project either way!

How do you decide which sys calls to work on? Is is based on what the user space binaries demand?

show 1 reply
Rochustoday at 10:41 AM

Cool project, congrats. I like the idea with libkernel which makes debugging easier before going to "hardware". It's like the advantages of a microkernel achievable in a monolithic kernel, without the huge size of LKL, UML or rump kernels. Isn't Rust async/awat depending on runtime and OS features? Using it in the kernel sounds like an complex bootstrap challenge.

show 2 replies
F3nd0today at 1:14 PM

Congratulations on the progress. If I may ask, I'm curious what considerations have motivated your choice of licence (especially since pushover licences seem extremely popular with all kinds of different Rust projects, as opposed to copyleft).

show 2 replies
Onavotoday at 9:25 PM

How does android compatibility look? Can this be compiled to WebAssembly and run in browser?

IshKebabtoday at 10:58 AM

Impressive work! Do you have any goals, other than learning and having fun?

Also how does it's design compare with Redox and Asterinas?

show 1 reply
bramadityawtoday at 10:21 AM

shouldn't this be a ShowHN?