Rust Bare Bones: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
(Update with some more content, and a replacement to rustboot)
(add Redox)
Line 14: Line 14:
* 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/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/charliesome/rustboot - VERY old (rust 0.7), includes a bootsector.
* https://github.com/redox-os/redox


[[Category: Bare bones tutorials]]
[[Category: Bare bones tutorials]]

Revision as of 03:35, 13 October 2015

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