Skip to content
petitstrawberryPublic

About

Rust operating system kernel and reference distribution.

Topics

Resources

Stars

84 stars

Watchers

1 watching

Forks

Repository files navigation

Scarlet

A Rust operating system kernel and reference distribution for multi-ABI systems.

Version License: MIT AArch64 RISC-V Ask DeepWiki

Scarlet 1.0.0 Akane desktop with Boxcraft, Files, Terminal, Clock, and Video Player

Overview

Scarlet is an operating system written primarily in Rust, combining a multi-ABI kernel, native userland, a graphical desktop, and tooling for composing bootable distributions.

The 1.0 release is named Scarlet 1.0 "Akane".

Scarlet-native, xv6, and Linux-compatible programs share kernel services and objects. This repository is the reference distribution, bringing together the kernel, applications, drivers, and reusable image bundles.

Highlights

Desktop

Virtual desktops Application launcher
Scarlet workspace overview with virtual desktop thumbnails and open application windows Scarlet application launcher with a search field and application grid
The workspace overview shows virtual desktops and their open windows. Open installed desktop applications from the launcher.

Hardware Support

Alongside the in-tree QEMU images, Scarlet has experimental support for real hardware through standalone projects:

See each project for supported models, device coverage, and build/deployment instructions.

Quick Start

Clone the distro-v1.0.1 release tag for Scarlet 1.0.1 "Akane", then enter the Nix development shell and choose a QEMU target:

AArch64 is the recommended starting point, with more runtime validation at present. RISC-V 64 is also available.

git clone --branch distro-v1.0.1 --depth 1 https://github.com/petitstrawberry/Scarlet.git
cd Scarlet
nix develop

# Build and run the recommended AArch64 full image.
cargo make run-aarch64

# Or build and run the RISC-V full image.
cargo make run-riscv64

This checks out the distribution release tag, not a development branch. For working on development sources, see the development guide.

On desktop hosts, full images open a GL-enabled QEMU window automatically (Cocoa with Retina on macOS; GTK or SDL on Linux). CPU emulation defaults to TCG, and serial logs remain in the terminal. For KVM/HVF setup, headless/VNC options, builds, and development commands, see the development guide. For physical devices, follow the relevant hardware project.

Documentation

The documentation index maps subsystem designs, API references, and compatibility details. Developer entry points:

Contributing

Contributions are welcome. Please keep changes scoped, run the relevant cargo make tasks before sending a PR, and update docs when changing public interfaces, project manifests, or user-visible behavior.

License

This project is licensed under the MIT License. See LICENSE.

About

Rust operating system kernel and reference distribution.

Topics

Resources

Stars

84 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages