16 comments

[ 5.1 ms ] story [ 41.8 ms ] thread
Just so you know, this is part of a larger tutorial at https://osblog.stephenmarz.com where I write a RISC-V operating system using Rust.

Let me know if you have any questions!

Curious what kind of hardware are you using? I'm interested in trying out RISC-V for myself, but aside from Qemu I'm not sure where I'd start.
I use the Kendryte K215 which is a dual-core, RV64GC inside of the Sipeed Maixduino (Arduino form factor):

https://www.seeedstudio.com/sipeed

Have you found the TRM yet? I really like the idea of this chip but the released documentation for it is woefully incomplete.
Unfortunately no. I've been reverse engineering it from their BSP. It's slower than I'd like.
I did immediately wonder how Minix was written in Rust, since it predates it by quite a bit.
I feel like Minix is underappreciated. I'm reading Tannenbaum's Modern Operating Systems at the moment and he makes a persuasive appeal for some of its unique takes of the *nix OS family.
Minix 3 has taken on a life of its own and is maintained here: https://minix3.org/

I had trouble finding really good documentation on the filesystem itself, so it took a bit of trial-and-error to figure out the structure.

You're doing impressive work! Thank you for writing this up and sharing your progress!
From the website, it looks like development stopped in 2016.

I read some of the papers on Minix3, and the Loris storage stack. From the bits I understood, it looks pretty interesting.

(comment deleted)
It is a really good book and I credit it for saving me when I took an undergraduate class in operating systems a long time ago: the book chosen for the course was mostly incomprehensible to me but reading Tannenbaum's tome was eye opening and insightful. Edit: spelling.
Wait so this is an alternative Minix 3 FS written in Rust?