Skip to content

A simple OS kernel implemented in rust, which has referenced https://os.phil-opp.com/

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

DrEden33773/ember_os

Repository files navigation

Ember OS

❤️ Please give me a Star / Follow if you like this project! ❤️

Brief

A simple OS implemented in rust, referenced Philipp Oppermann's Writing an OS in Rust blog.

Referencing Info

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:

  1. Full implementation of the Asynchronous Task Manager
  2. Simple implementation of the Shell
  3. Fully transplanted benchmarks from NJU-OS-Experiment

Build

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)

Acknowledgements

About

A simple OS kernel implemented in rust, which has referenced https://os.phil-opp.com/

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages