About
UraniumOS is a Linux distribution for x86-64 machines with UEFI. It uses the mainline Linux kernel, busybox init with runit, glibc, btrfs and limine, and installs packages from nixpkgs with its own package manager, rod. Every package operation and every update takes a snapshot first, each snapshot is an entry in the boot menu, and an update that does not leave the system healthy is reverted. The release files are signed.
Status
- Version
- 0.1.1.
- License
- The code written for UraniumOS is in the public domain, dedicated with CC0 1.0. The packages that the system installs keep their own licenses.
- Maturity
- The system has been installed and booted in QEMU with KVM and OVMF only. No real machine has been tried. Wi-Fi, Bluetooth, BIOS boot and Secure Boot do not work; see differences and known failures.
- Platform
- x86-64 with UEFI.
Design
A "frame" is a read-only btrfs snapshot of the root and the home directories. rod takes a frame before it installs, removes or upgrades a package, so that a single revert covers packages, configuration and files. An update is built in a copy of the root and applied at the next boot on trial, and unless geiger passes within about five minutes of that boot, the system reverts. A service is a directory that contains a run script. The firewall drops incoming connections. A program that you do not trust may be run in a bubblewrap sandbox with a read-only system. The settings, and the limits of the protection they give, are described in security.
Reporting problems
To report a problem, open an issue in the repository of the part that is at fault. The repositories are listed in developers, and contributing states what a report must include. A security problem must be reported through the private vulnerability reporting of the repository, and not in a public issue.
Where to go next
Download provides the files and the signature. Documentation is the handbook. Features lists the commands and files.