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:
Last but not least, install bootimage so that you could create a legal boot disk image from the complied kernel:
Finally, you could build the project by running:
And then, you could run it:
Or, run some given tests:
(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
- [https://github.com/phil-opp/blog_os]
- [https://os.phil-opp.com/]