4 releases
| 0.1.3 | Jan 21, 2025 |
|---|---|
| 0.1.2 | Jan 17, 2025 |
| 0.1.1 | Mar 6, 2024 |
| 0.1.0 | Mar 5, 2024 |
#1200 in Embedded development
349 downloads per month
135KB
4K
SLoC
Ember OS
❤️ Please give me a
Star/Followif 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:
- Full implementation of the
Asynchronous Task Manager - Simple implementation of the
Shell - Fully transplanted
benchmarksfromNJU-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
Dependencies
~6.5MB
~88K SLoC