A modular overlay system for customizing Ubuntu 24.04 and 20.04 installations for Particle's Tachyon device.
These overlays are consumed by Tachyon Composer to build customized Ubuntu images.
overlays/- Individual overlay modules, each performing a specific configuration task (adding packages, configuring services, copying files, etc.)stacks/- Collections of overlays executed in a specific order. Stacks can reference other stacks for hierarchical composition.setup.sh- Device setup script for Tachyon modem configuration.
Each overlay lives in its own directory under overlays/ and contains:
overlay.json- Metadata and commands to execute- Optional
files/directory - Files to copy into the target filesystem - Optional shell scripts - For complex installation logic
Overlays support three command types:
chroot-cmd- Run a command in the chroot environmentchroot-script- Run a shell script in the chroot environmentcopy-into-chroot- Copy files into the chroot filesystem
Stacks define which overlays to apply and in what order. Key stacks:
ubuntu-common-24.04- Base system with core packages, networking, firmware, and development toolsubuntu-desktop-24.04- Extends common with GNOME desktop environmentubuntu-headless-24.04- Headless server configuration
qli-headless-2.0 includes qli-common-2.0. Run it after composer's pinned
QLI board preparation (firmware links, audio, ADB identity and setup metadata),
using overlay-tool --package-manager rpm-offline --rpm-repo /tmp/particle-rpms.
The repository and every RPM must already have been verified against the image
lock. Missing dependencies abort composition. No APT, update feed, desktop or
optional application installer is included. Docker, Compose, UPower and network
services come from QLI. Particle service units are enabled for the next boot.