An operating system written in Rust (for fun and educational purposes)

Overview

Prestige

Prestige is an operating system written for fun and educational purposes in Rust. It targets the x86-64 architecture and can run on common emulators like QEMU.

The Prestige project began from an interest to develop an operating system. The development of Prestige is attributed to the second edition of Writing an OS in Rust by Philipp Oppermann, reading the OSDev wiki, and by inspecting the source code of other open source operating systems and kernels.

Building Prestige

Clone the repository

With git:

$ git clone https://github.com/akabinds/prestige.git
$ cd prestige

With GitHub CLI:

$ gh repo clone akabinds/prestige
$ cd prestige

Installed Required Tools

Through make:

$ make setup

Raw Commands:

$ curl https://sh.rustup.rs -sSf | sh
$ rustup install nightly
$ rustup default nightly
$ cargo install bootimage

Build image

$ make image

Run in QEMU

$ make qemu

All at Once

$ make

Argument/Compilation Options

  • output: vga, serial (defaults to vga)
  • kbd_layout: qwerty, azerty, dvorak (defaults to qwerty)
  • build_mode: release, debug (defaults to release)

Specify or override options by typing OPT=VAL after make or make TARGET

You might also like...
A just-for-fun™ JVM implementation in Rust

Caoimhe's Rust JVM (CaoRVM) This is a just-for-fun™ JVM implementation in Rust. This project was inspired by one of my previous C++ projects, CaoVM. S

2048 in `tui`, just for fun
2048 in `tui`, just for fun

TUI 2048 - Have a relax at anytime - 😎 ^_^ How to run repo clone this repo, git clone https://github.com/WanderHuang/game-2048-tui.git cd game-2048-t

🚀 TaskFly - The Fun Cron Alternative

🚀 TaskFly - The Fun Job Scheduler Daemon Experience a whole new way of scheduling tasks with TaskFly. Representing tasks' urgency with emojis, TaskFl

Simple Programming Language for fun.

Chap Chap is an Easy to learn, dynamic, interpretive, isolated, and keywordless scripting language written in Rust. It is useful when you want your us

Voila is a domain-specific language launched through CLI tool for operating with files and directories in massive amounts in a fast & reliable way.

Voila is a domain-specific language designed for doing complex operations to folders & files. It is based on a CLI tool, although you can write your V

First project in rust which will be to make an accounts system & Leaderboard/Score system

rust-backend this is my first project in rust which will be to make a backend for compsci project it will include: Accounts, Player Achievements (if I

 skyfetch ☁️  a system information fetch written in rust
skyfetch ☁️ a system information fetch written in rust

skyfetch ☁️ a system information fetch written in rust requirements cargo install with curl

An online judge system written in Rust.
An online judge system written in Rust.

MROJ - Making a Rust Oneline Judge Background This repo was initially a homework of Tsinghua University Programing and Training Course, but I found it

A system fetch tool for Linux, written in Rust.
A system fetch tool for Linux, written in Rust.

fetchit A system fetch tool for Linux, written in Rust. fetchit is a simple system info tool, written in Rust, for Linux based operating systems. It o

Comments
  • Tracking Issue for project rewrite

    Tracking Issue for project rewrite

    This is a tracking issue for the rewriting and restructuring of the Prestige project.

    Tasks

    • [ ] Transition back to Limine bootloader (to allow for future expansion into other architectures like aarch64)
    • [ ] Replace Makefile with a Python script that acts as the build system for the OS.

    TASKS SUBJECT TO CHANGE

    opened by akabinds 0
Owner
binds
binds
Work-in-progress software for managing the Azeron keypad on any operating system.

azeron-cli A small, unfinished CLI application intended to manage the Azeron Cyborg. The code is still in a very messy state and doesn't look very rus

cozyGalvinism 5 Nov 24, 2022
Raw C Shell: interact with your operating system using raw C code, because why not?

rcsh Raw C Shell is a minimalist shell with no built in commands. You write entirely in C code and use return; to execute your code. Unlike that silly

null 4 Feb 7, 2023
An educational Bochs-based snapshot fuzzer project

Lucid An educational Bochs-based snapshot fuzzer project Misc Bochs: https://bochs.sourceforge.io/ Blog: https://h0mbre.github.io/New_Fuzzer_Project/#

null 41 Nov 12, 2023
Implementation of Nova using arkworks for learning purposes

nova-study Implementation of Nova using arkworks-rs just for learning purposes. Warning: Implementation from scratch to learn the internals of Nova. D

null 16 Apr 23, 2023
82 fun and easy to use, lightweight, spinners for Rust, with minimal overhead.

Spinners for Rust 82 fun and easy to use, lightweight, spinners for Rust, with minimal overhead, all the way from simple dots, to fun emoji based "spi

Juliette Cordor 2 May 17, 2022
My own image file format created for fun! Install the "hif_opener.exe" to open hif files. clone the repo and compile to make your own hif file

Why am i creating this? I wanted to create my own image format since I was 12 years old using Windows 7, tryna modify GTA San Andreas. That day, when

hiftie 3 Dec 17, 2023
A rust binary that will flip one or more bits of a file (mostly for messing with images for fun).

file-bitflipper A rust binary that will flip one or more bits of a file (mostly for messing with images for fun). Example (bitflipped bentley) Usage $

null 1 Aug 31, 2022
A fun rust terminal program so you can make Christmas trees!

Xmastree 2021 A fun christmas tree where you can add ornaments! Then, you can export the file into either: a rust file a txt file About Taking a break

Junhao 2 Dec 21, 2021
Rust port of https://github.com/hunar4321/life_code with some fun features.

Smarticles A Rust port of Brainxyz's Artificial Life simulator with some fun features. A simple program to simulate primitive Artificial Life using si

Chevy Ray Johnston 15 Dec 24, 2022
collaboration project focusing on rust. Made for fun

Collaboration space for on rust project(s) setup Pull down the repo first then do the following steps cd into lil-devils cargo fetch cargo build cargo

Blake Costa 2 Nov 8, 2022