ComicalCache / rOSt

Making a small OS in pure rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rOSt, a 64-Bit Rust operating system

For more information about the project, please visit the wiki, this readme is meant to give a quick overview of the project for developers and anyone interested.

If you are interested in contributing to the project, please visit the Contributing file.

Structure

The project is divided into multiple folders:

  1. src contains the main entry point of the kernel.
  2. rost-lib contains the standard library that will be available to all programs written for the OS.
  3. boot contains the settings for building the image with the bootloader, and QEMU settings.
  4. utils contains utility functions, constants and structures that could be used throughout the kernel.
  5. drivers contains drivers that add extended functionality that is not in the scope of the kernel core.
  6. kernel contains the core library and functionality.

Requirements

Rust should automatically switch to the nightly channel and install the llvm tools when it detects the rust-toolchain.toml.

How to run

cargo krun

will build the kernel and start up a qemu instance booting the kernel in debug mode.

Testing

Tests are ran after the kernel initializes the necessities like kernel heap, general memory management and interrupts.

To run the tests do:

cargo ktest

Troubleshooting

  • If the build fails because of usage of unstable features, make sure that you have enabled the nightly channel using rustup default nightly or rustup upgrade

Processor Chip Icon by Kalash

About

Making a small OS in pure rust

License:MIT License


Languages

Language:Rust 100.0%