Project family

CRUX

Linux ARM RISC-V

Work around CRUX Linux and its ports for alternative architectures, spanning the base system, package maintenance, tooling, automation and support for ARM and RISC-V.

01 / Overview

CRUX and VJML

CRUX is a lightweight Linux distribution aimed at experienced users, built around simplicity, system control and a ports-based package model. My work around CRUX extends across different architectures, tools and processes used to build, maintain and experiment with the system.

02 / Family

Family

01
x86-64 Linux Ports

CRUX

The upstream project and foundation for the rest of the work: a deliberately simple, transparent and controllable Linux system.

02
ARM AArch64 SBC

CRUX-ARM

A CRUX port for ARM systems, bringing its philosophy and ports system to different devices and platforms based on the architecture.

03
RISC-V Linux SBC

CRUX-RISCV

Work on bringing CRUX to RISC-V while exploring real-world toolchain, packaging, compilation and hardware-support problems on a still-young architecture.

03 / Work

Work around CRUX

The family extends beyond architecture ports. A significant part of the work is in the tools and processes used to build, test and maintain the system.

Packaging

Ports, package maintenance and investigation of build failures.

Architectures

ARM, AArch64 and RISC-V on real hardware and build environments.

Rootfs

Building and validating base systems for different architectures.

CI

Automated builds and reproducible testing across different runners.

Tooling

Tools that simplify, isolate and make work with ports safer.

04 / Tooling

Selected tooling

CRUX Packaging CLI

prt-snapshot

A tool for creating reproducible and safer environments around the CRUX ports system, used to build and test packages without depending on the state of the main system.