Skip to content

orust is an operating system build with rust. Join us in crafting the future of low-level programming.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Blindspot22/orust

ORUST

This repository contains the source code for the Writing an OS in Rust series at os.phil-opp.com by Philipp Oppermann.

This is my version of Philipp Oppermann's "BlogOS". It's a baremetal operating system that can boot off of a USB stick on any BIOS-compatible machine, which is pretty amazing. I'm going to be running the OS using QEMU instead of booting a physical machine. Just to keep things simple. If you have questions, open an issue.

How to Install and Use.

Visit the Installation Manual for guidance on how to Install and use Orust

Where is the code?

The code for each post lives in a separate git branch. This makes it possible to see the intermediate state after each post.

The code for the latest post is available here..

You can find the branch for each post by following the (source code) link in the Post list below. The branches are named post-XX where XX is the post number, for example post-03 for the VGA Text Mode post or post-07 for the Hardware Interrupts post. For build instructions, see the Readme of the respective branch.

Posts

The goal of this project is to provide step-by-step tutorials in individual blog posts. We currently have the following set of posts:

Bare Bones:

. A Freestanding Rust Binary (source code)

. A Minimal Rust Kernel (source code)

. VGA Text Mode (source code)

. Testing (source code)

Interrupts:

. CPU Exceptions (source code)

. Double Faults (source code)

. Hardware Interrupts (source code)

Memory Management:

. Introduction to Paging (source code)

. Paging Implementation (source code)

. Heap Allocation (source code)

. Allocator Designs (source code)

Multitasking:

. Async/Await (source code)

First Edition Posts

The current version of the blog is already the second edition. The first edition is outdated and no longer maintained, but might still be useful. The posts of the first edition are:

. First Edition by philipp oppermann (source code)

License

This project, with exception of the blog/content folder, is licensed under either of

. Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)

. MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)

at your option.

About

orust is an operating system build with rust. Join us in crafting the future of low-level programming.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages