Rust Bare Bones: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
add Redox |
Link to Philipp Oppermann's blog about Rust OS Development |
||
Line 15: | Line 15: | ||
* https://github.com/charliesome/rustboot - VERY old (rust 0.7), includes a bootsector. |
* https://github.com/charliesome/rustboot - VERY old (rust 0.7), includes a bootsector. |
||
* https://github.com/redox-os/redox |
* https://github.com/redox-os/redox |
||
* http://os.phil-opp.com/ - New Rust OS Tutorial/Blog by Philipp Oppermann |
|||
[[Category: Bare bones tutorials]] |
[[Category: Bare bones tutorials]] |
Revision as of 21:24, 31 January 2016
This page is a work in progress.
This page may thus be incomplete. Its content may be changed in the near future.
Kernel Designs |
---|
Models |
Other Concepts |
WAIT! Have you read Getting Started, Beginner Mistakes, and some of the related OS theory?
Notes
- The rust libcore can easily be included in a kernel, it's analogous to C's freestanding headers
- Enable `--gc-sections` in ld to avoid having to define symbols you don't need (e.g. floating point math functions)
- Always use a target json file ("Flexible Target Specifications), and disable stack checking.
- Stack checking requires using thread-local storage
Examples
- https://github.com/thepowersgang/rust-barebones-kernel - A framework written in rust 1.0 alpha, supporting x86 and x86-64, boots offf multiboot.
- https://github.com/charliesome/rustboot - VERY old (rust 0.7), includes a bootsector.
- https://github.com/redox-os/redox
- http://os.phil-opp.com/ - New Rust OS Tutorial/Blog by Philipp Oppermann