index
A bootc image for the Lenovo ThinkPad X13s (Qualcomm SC8280XP, aarch64), based on Bonito (Fedora Atomic GNOME).
Download Live ISOβ
The ISO is rebuilt automatically on every push to main. Write it to a USB stick and boot to install or try the live desktop.
What's Includedβ
- ThinkPad X13s hardware support via jlinton/x13s COPR
- Qualcomm firmware (
qcom-firmware), Bluetooth (bluez), power management (pd-mapper) - Battery monitor firmware blobs in initrd
- Required kernel arguments:
arm64.nopauth,clk_ignore_unused,pd_ignore_unused,modprobe.blacklist=qcom_q6v5_pas - Device tree:
sc8280xp-lenovo-thinkpad-x13s.dtb
Subscribe to the bootc Imageβ
If you already have a bootc-based system running on your X13s:
sudo bootc switch ghcr.io/tuna-os/bonito-x13s:latest
sudo reboot
To receive updates:
sudo bootc upgrade
Build the Live ISOβ
The live ISO lets you boot into a GNOME desktop from a USB stick for testing or initial installation.
Prerequisitesβ
podmanjust,golang(installed automatically by the build script if missing)- On x86_64 hosts:
qemu-user-staticfor cross-arch builds
Buildβ
./build-iso.sh
This will:
- Build the base bootc image (
Containerfile) - Build the ISO installer layer on top (
Containerfile.iso+src/build.sh) - Clone
ondrejbudai/bootc-isosand use itsimage-builderto produce the ISO
Output lands in bootc-isos/output/.
Write to USBβ
sudo dd if=bootc-isos/output/*.iso of=/dev/sdX bs=4M status=progress oflag=sync
Boot on the X13sβ
- Update UEFI firmware to at least version 1.56 (1.66+ recommended)
- In BIOS: disable Secure Boot, enable Linux Boot (Beta)
- Boot from USB (F12 at POST)
Build and Push the bootc Imageβ
# Push to default registry (ghcr.io/tuna-os)
./push.sh
# Push to a custom registry
REGISTRY=ghcr.io/youruser ./push.sh
# Push with a specific tag
REGISTRY=ghcr.io/youruser TAG=v1.0 ./push.sh
Project Structureβ
Containerfile Base bootc image (publishable, no ISO tooling)
Containerfile.iso ISO installer layer (adds dracut-live, EFI, GRUB config)
src/
build.sh ISO layer build script
iso.yaml GRUB2 menu configuration for the live ISO
build-iso.sh End-to-end ISO build orchestration
push.sh Build and push bootc image to registry
x13s_repo/ Source files for the jlinton/x13s COPR package
bootc-isos/ Cloned ondrejbudai/bootc-isos (gitignored)
Hardware Support Status (as of 2025)β
| Feature | Status |
|---|---|
| WiFi (ath11k) | β Working |
| Bluetooth | β Working (MAC randomized at first boot) |
| Audio / Speakers | β Working (volume may be low by default) |
| GPU (Adreno 690) | β Working |
| Battery monitoring | β Working (requires firmware in initrd) |
| Suspend | β οΈ Basic support, deep sleep not working |
| Webcam | β Not supported |
| Hibernate | β Not supported |
BIOS Settingsβ
| Setting | Value |
|---|---|
| Secure Boot | Disabled |
| Linux Boot (Beta) | Enabled |
| Firmware version | β₯ 1.56 (1.66+ recommended) |