Crates.io | ember_os |
lib.rs | ember_os |
version | 0.1.1 |
source | src |
created_at | 2024-03-05 09:09:27.071458 |
updated_at | 2024-03-06 06:29:53.274827 |
description | A simple OS kernel implemented in rust, which has referenced https://os.phil-opp.com/ |
homepage | https://github.com/DrEden33773/ember_os |
repository | https://github.com/DrEden33773/ember_os |
max_upload_size | |
id | 1162850 |
size | 329,681 |
❤️ Please give me a
Star
/Follow
if you like this project! ❤️
A simple OS implemented in rust, referenced Philipp Oppermann
's Writing an OS in Rust blog
.
This project includes(referenced) code from phil-opp's blog_os, which is available under the MIT LICENSE and the APACHE LICENSE. The original code can be found at phil-opp/blog_os. Main extensions (differences between this
project and phil-opp
's) are as follows:
Asynchronous Task Manager
Shell
benchmarks
from NJU-OS-Experiment
With the reliance on a bunch of unstable features
, nightly
channel of rust-toolchain
is in need. A simple way is to run rustup update nightly --force
.
Obviously, you should have qemu
installed first. You could do that with the help of brew
:
brew install qemu
Last but not least, install bootimage
so that you could create a legal boot disk image from the complied kernel:
cargo install bootimage
Finally, you could build the project by running:
cargo build
And then, you could run it:
cargo run
Or, run some given tests:
cargo test
(Yes, cargo bootimage
is not a necessary step, as the build behavior under this project has been adjusted to do that automatically before running
)