Getting started with RidgeOS
Try RidgeOS in a VM, install it on one of the supported platforms, or build the whole distribution yourself.
Overview
RidgeOS is a modern, ARM-first Linux distribution. You install prebuilt
packages with rpk — and because every package is
also a port, you can rebuild any of them from source when you want to. Three
platforms are supported today:
- QEMU virtual machine — the fastest way to try it, no hardware needed.
- Generic amd64 PC — the desktop reference target (x86-64, UEFI).
- OnePlus 8T — the mobile target (Snapdragon 865, aarch64).
Requirements
To try or write a prebuilt image you'll need:
- QEMU:
qemu-system-x86_64with KVM and an OVMF/UEFI firmware. - amd64 bare metal: a 64-bit PC and an 8 GB or larger USB drive.
- OnePlus 8T: the device with an unlockable bootloader, a USB-C cable, and
fastbootfrom the Android platform-tools. xzto decompress, andsha256sumto verify.
Try it & install on a generic amd64 PC
The fastest way to look around is under QEMU — nothing to flash, nothing to undo. To run on real hardware, write the same image to a disk and boot it in UEFI mode.
Download & verify
Grab the amd64 image from the downloads page and check it.
sha256sum -c ridgeos-amd64.img.xz.sha256 unxz ridgeos-amd64.img.xz
Try it in QEMU
Boot the image in a VM — no disk changes, nothing to undo.
qemu-system-x86_64 -enable-kvm -m 4096 \ -bios /usr/share/OVMF/OVMF_CODE.fd \ -drive file=ridgeos-amd64.img,format=raw \ -net user,hostfwd=tcp::2222-:22 -net nic
Or write to a disk
Flash the image to a USB drive or SSD, then boot the machine in UEFI mode.
# replace /dev/sdX with your target disk — this erases it
sudo dd if=ridgeos-amd64.img of=/dev/sdX bs=4M status=progress conv=fsync
dd to the wrong device will erase it. Double-check
the target with lsblk before you run it.
Flash the OnePlus 8T
The OnePlus 8T (codename kebab) boots RidgeOS via U-Boot. Flashing unlocks the bootloader and replaces Android, so back up anything you want to keep first.
Unlock the bootloader
Enable OEM unlocking and USB debugging in Developer options, then reboot to the bootloader and unlock.
adb reboot bootloader fastboot flashing unlock
Download & verify the image
Get the OnePlus 8T image from the downloads page.
sha256sum -c ridgeos-kebab.img.xz.sha256 unxz ridgeos-kebab.img.xz
Flash and boot
Write the RidgeOS boot and root images, then reboot into the system.
fastboot flash boot ridgeos-kebab-boot.img fastboot flash system ridgeos-kebab.img fastboot reboot
First boot
On first boot RidgeOS starts the Wayland desktop — a wlroots compositor with the RidgeOS shell. On the QEMU / amd64 target an SSH server also listens on port 2222:
ssh -p 2222 root@localhost
The convergent shell adapts to the display: a desktop layout on a monitor, a phone layout on the OnePlus 8T panel.
Build from source
Every image is reproducible from the source tree. The build farm runs as a
Docker Compose stack; rfarm builds the ports and
rbootstrap assembles the image.
Bring up the build farm
# source repo URL coming soon — see /source
git clone <ridgeos-source-url>
cd ridgeos
docker compose up -d --build
Build a target's packages
Walk the port graph and build for aarch64 on the amd64 workers.
docker exec ridgeos-rfarm python3 -m rfarm.client \ build --arch aarch64 --method cross --machines builder-amd64
Assemble & boot an image
Install the package set into a disk image and boot it under QEMU.
rbootstrap init --target amd64 rbootstrap qemu
Managing packages
On a running system, rpk installs and removes
packages from the registry:
# install a package into the running rootfs rpk install <package> # list what's installed rpk list
Ready to try it? Head to the downloads page and pick an image for your platform.