Exos — Mantle OS Builder

Declarative, containerized, reproducible builds for embedded Linux.

Overview

Exos is the orchestration layer that powers Mantle OS. It brings together Yocto, Kconfig, and kas-container under a single declarative workflow — allowing developers to configure, build, and deploy Mantle OS with full reproducibility.

Each branch of Mantle OS corresponds to an upstream Yocto LTS release and is paired with its own Docker build container, hosted on the Mantle GitLab Registry. These containers are used both by local builds and CI/CD runners for nightly releases.

Philosophy

In Mantle OS’s geological model, Exos is the Exosphere — where Earth fades into space. It’s the layer that connects local development to continuous integration, transforming static layers into a self-sustaining ecosystem.

The goal is simple: make embedded Linux builds deterministic, portable, and accessible — without hidden tooling or vendor lock-in.

Structure

Menu System

Exos uses a menuconfig-style interface built from Kconfig. It allows you to interactively select system options:

When saved, the configuration is compiled into exos.yml and executed through kas-container.

Docker & CI/CD

Every Mantle OS branch ships its own container image to the GitLab Container Registry. These images are used by CI/CD runners and can also be exported for local builds.

Local Setup

# Prepare shared build cache
sudo mkdir -p /srv/mantle
sudo chown -R $USER:$USER /srv/mantle

# Install Docker and set permissions
sudo apt install docker.io
sudo setfacl --modify user:$USER:rw /var/run/docker.sock

# Authenticate with Mantle OS registry (requires 2FA + PAT)
docker login git.mantle-os.com:5050

# Select your container image (example for Scarthgap)
export KAS_CONTAINER_IMAGE="git.mantle-os.com:5050/exos/scarthgap:latest"

# Launch the menu interface
kas-container --ssh-dir ~/.ssh --runtime-args "-v /srv/mantle:/srv/mantle" menu

Build Examples

# Build the default (x86_64) image
kas-container --ssh-dir ~/.ssh --runtime-args "-v /srv/mantle:/srv/mantle" build

# Enter a build shell
kas-container --ssh-dir ~/.ssh --runtime-args "-v /srv/mantle:/srv/mantle" shell

CI/CD runners perform the same operations automatically for nightly builds, guaranteeing that every Mantle OS artifact is built from a verified container environment.

Key Principles

Summary

Exos is the outermost layer of Mantle OS — where reproducibility meets orchestration. It lets you configure, build, and deploy embedded Linux systems with the same precision, whether you’re on a laptop, a data center runner, or a factory floor.