Stephen Marz: Blog

Writing these posts is a past-time right now as my full time job is educating (mostly) undergraduate college students. I will always deliver content, but I could really use your help. If you're willing, please support me at Patreon (pavehawk2007)

I've just started and there is much to do! So, please join me!

Running title: RISC-V OS using Rust


RISC-V ("risk five") and the Rust programming language both start with an R, so naturally they fit together. In this blog, we will write an operating system targeting the RISC-V architecture in Rust (mostly). If you have a sane development environment for RISC-V, you can skip the setup parts right to bootloading. Otherwise, it'll be fairly difficult to get started.

This tutorial will progressively build an operating system from start to something that you can show your friends or parents -- if they're significantly young enough. Since I'm rather new at this I decided to make it a "feature" that each blog post will mature as time goes on. More details will be added and some will be clarified. I look forward to hearing from you!

The Road Ahead...

I changed the github to use tags to mark each chapter. Unfortunately, this was very late into the game. Chapters 1 through 9 are in a directory called chapters. Chapters 10 and 11 are tags in the github repo. Perhaps one day I'll make all chapters a tag.

When finished, you will have an operating system using the RISC-V architecture that schedules user-space programs from a filesystem, including shell, ls (list files), cd (change directory), and so forth.

This is not intended to be the end-all-be-all, cutting edge operating system, but it is to demonstrate the efficacy of an operating system using the Rust programming language.