Crates.io | rusty-os |
lib.rs | rusty-os |
version | 1.1.0 |
source | src |
created_at | 2021-05-10 03:40:22.711832 |
updated_at | 2023-04-30 15:14:57.347114 |
description | Rusty-OS is a simple kernel for embedded systems written in Rust |
homepage | https://github.com/roemvaar/rusty-os |
repository | https://github.com/roemvaar/rusty-os/tree/main/src |
max_upload_size | |
id | 395423 |
size | 88,655 |
rusty-os
Rusty-OS is a simple RTOS for ARM-based embedded systems written in Rust.
This OS is based on the series of posts by Phillip Oppermann, go check his blog and github for further explanation on how to build an OS usign Rust.
Licensed under either of
at your option.
Support for different platforms ("targets"):
target | notes |
---|---|
x86_64 | QEMU x86 64 bits |
Future work includes adding support for different platforms. ARM support is in progress.
This project requires a nightly version of Rust because it uses some unstable
features. At least nightly 2020-07-15 is required for building. You might
need to run rustup update nightly --force
to update to the latest nightly
even if some components such as rustfmt
are missing it.
You can build the project by running:
$ cargo build
To create a bootable disk image from the compiled kernel, you need to install
the [bootimage
] tool:
$ cargo install bootimage
After installing, you can create the bootable disk image by running:
$ cargo bootimage
This creates a bootable disk image in the target/x86_64/debug
directory.
$ cargo run
[QEMU] and the [bootimage
] tool need to be installed for this.
Contributions are accepted. Make sure to open a merge request.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
This is a hobby project in order to learn the inner components of RTOS design and low-level development for ARM processors using Rust. Rusty-OS being a hobby project can't be compared to mainstream RTOSs like The Zephyr Project, FreeRTOS, QNX, etc. And again, special thanks to Phillip Oppermann for paving the way for the other embedded software enthusiasts with his work. "Standing on the shoulders of giants".