SOS is a simple, tiny toy OS implemented in Rust.
I'm writing this mostly for fun, to learn more about OS design and kernel hacking, so don't expect anything new or exciting out of this project.
Inspiration, and a reasonable amount of code, taken from @phil-opp's great series of blog posts on the subject, Charlie Somerville's rustboot, and Samy Pessé's How to Make an Operating System.
I've included a simple Makefile to automate building and running SOS. This README lists most of the important make targets, but there's also a $ make help command, which will print a list of all available targets.
In order to build SOS, you'll need to properly configure your build environment. Since this process is fairly complex, I've provided some automatic installation shell scripts to make it a bit more painless.
$ make env will install and configure build dependenciesIf you don't trust the scripts, or if you're curious to know what they're doing, you can also follow the manual install instructions in BUILDING.md.
$ make kernel compiles & links the kernel binary$ make iso makes the kernel and builds a bootable ISO image$ make run compiles the kernel, makes the ISO, and boots QEMU from the ISO848 followers · starred Jan 2018
3,143 followers · starred Dec 2015
219 followers · starred May 2024
107 followers · starred Oct 2017
SOS is a simple, tiny toy OS implemented in Rust.
I'm writing this mostly for fun, to learn more about OS design and kernel hacking, so don't expect anything new or exciting out of this project.
Inspiration, and a reasonable amount of code, taken from @phil-opp's great series of blog posts on the subject, Charlie Somerville's rustboot, and Samy Pessé's How to Make an Operating System.
I've included a simple Makefile to automate building and running SOS. This README lists most of the important make targets, but there's also a $ make help command, which will print a list of all available targets.
In order to build SOS, you'll need to properly configure your build environment. Since this process is fairly complex, I've provided some automatic installation shell scripts to make it a bit more painless.
$ make env will install and configure build dependenciesIf you don't trust the scripts, or if you're curious to know what they're doing, you can also follow the manual install instructions in BUILDING.md.
$ make kernel compiles & links the kernel binary$ make iso makes the kernel and builds a bootable ISO image$ make run compiles the kernel, makes the ISO, and boots QEMU from the ISO848 followers · starred Jan 2018
3,143 followers · starred Dec 2015
219 followers · starred May 2024
107 followers · starred Oct 2017