Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0x59616e/SteinsOS

An operating system written in Rust
https://github.com/0x59616e/SteinsOS

armv8 kernel operating-system os osdev rust

Last synced: about 1 month ago
JSON representation

An operating system written in Rust

Awesome Lists containing this project

README

        

# Introduction
SteinsOS is an operating system featuring non-preemptive kernel targeting on single-core armv8 architecture.

SteinOS is derived from following tutorials and software distributions:

[Redox OS](https://gitlab.redox-os.org/redox-os/redox): The state-of-the-art Rust Operating System.

[RISC Vに従うCPUの上で動作するOSをRustで書く(CPU実験余興](https://moraprogramming.hateblo.jp/entry/2019/03/17/165802):
Very useful blog about Rust bare-metal programming.

[Writing an OS in Rust](https://os.phil-opp.com/): An excellent series about kernel dev with Rust.

[xv6](https://github.com/mit-pdos/xv6-riscv): An Unix-like OS written in C.
# Document
Below are SteinsOS docuements, one in Taiwanese, and the other in English.

[Taiwanese](https://hackmd.io/@0x59616e/rJEE2msfY)

[English](https://hackmd.io/@0x59616e/H1kKW4ift)

# Prerequisites
Here's what you need:
- [Rust compiler](https://www.rust-lang.org/tools/install)
```
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
- [aarch64-none-elf toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads)
- qemu-system-aarch64
```
$ sudo apt-get install -y qemu-system-aarch64
```

# Build and run
Just run `make qemu`
```
$ make qemu
```
# Feature
- Preemptive multi-tasking
- Memory management
- Virtual Memory
- File system
- C library

# Shell
```
$ ls
.
shell
ls
cat
READMD.md
$ cat ./README.md
...
```

# Contribution

Pull requests, bug reports and any kind of suggestion are very welcomed.