Rust Bare Bones: Difference between revisions

From OSDev.wiki
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