gitmyhub

RacOS

Rust ★ 14 updated 3d ago

RacOS

RacOS is a full operating system built from scratch in Rust, with its own kernel, shell, networking stack, and package manager, running in QEMU on x86_64 machines. No Linux or GNU code is used anywhere.

Rustx86_64 AssemblyQEMUUEFIGitHub Actionssetup: hardcomplexity 5/5

RacOS is a custom operating system written entirely from scratch in Rust, with no code borrowed from Linux, Ubuntu, Debian, or GNU. The README is in Polish, but the technical content is clear. It targets x86_64 computers with UEFI firmware and runs in a virtual machine environment called QEMU.

The project builds every layer of an operating system independently. The kernel, named RaCore, is a modular monolithic design written in Rust with a small amount of x86_64 assembly for low-level boot tasks and process switching. Above the kernel sits an init and service manager called RacInit, which handles startup order using a dependency graph. There is also a shell called racsh with its own command parser, job control, and scripting support, plus a terminal emulator called RacTerm.

One notable part of the project is its networking stack. RacOS implements the full chain of network protocols from scratch, covering ARP, IPv4, UDP, DNS, TCP, and HTTP, without relying on any third-party libraries. The demo screenshots in the README show the system completing a real DNS lookup and fetching a live HTTP response from Cloudflare.

The operating system includes two package management tools: rpkg for low-level local installation and rapt for handling dependencies and repositories, similar in concept to how apt works on Debian-based Linux systems.

Build tooling uses Rust nightly with a pinned date to keep builds reproducible, and CI runs on GitHub Actions with multiple stages covering formatting, build, unit tests, kernel smoke tests, and interactive shell tests over a virtual serial connection.

Licensed under Apache 2.0.

Where it fits