Published April 22, 2024 | Version 2024.02.1
Software Open

SkiffOS: Minimal Cross-compiled Linux for Embedded Containers

  • 1. Aperture Robotics, LLC.

Description

SkiffOS is a config package system for the Buildroot OS cross-compiler.

  • Run any distribution anywhere: decouples hardware support from user distro environments.
  • Reliable: minimal read-only host system for unbreakable boot-ups and over-the-air updates.
  • Reproducible: offline builds, pinned package versions, source-controlled custom configs.

Configuration packages are merged together to configure the system:

  • SKIFF_CONFIG=pi/4,core/debian - run Debian desktop on a Raspberry Pi 4.
  • SKIFF_CONFIG=odroid/xu4,core/fedora - run Fedora desktop on a Odroid XU4.
  • SKIFF_CONFIG=virt/qemu,custom/config - run a custom config in a Qemu VM.

There is a project template you can use for version-controlled customizations.

Linux devices have varying requirements for kernel, firmware, and other hardware support packages. SkiffOS decouples this support from the containerized environments. The containers are portable across devices with the same CPU architecture, while ordinary OS images (Board Support Packages) are not.

Supports any Linux-compatible computer, ranging from RPi, Odroid, NVIDIA Jetson, to Desktop PCs, Laptops (i.e. Apple MacBook), Phones, Cloud VMs, and even Web Browsers.

---

This release corresponds to Buildroot 2024.02.1.

Fixes and improvements:

  • buildroot: include elfutils fix patch (cde5fde)
  • buildroot: update to upstream (cfb2b37)
  • valve/deck: update kernel and firmware to v6.5.0 (0d37037)
  • skiff/core: add psmisc and xinput to packages list (70baba4)
  • core/holoiso: drop configuration (43030f4)
  • resources: optimize png images (d494e26)
  • configs-base: update kernel to 6.8.6 (9cdecb6)
  • virt/qemu: add support for UTM (e8463b7)
  • virt/qemu: use cpu max, disable monitor, conditional enable kvm (cd921dd)
  • apple/arm: disable .cpio.uboot (f8832fc)
  • buildroot: update qemu to 9.0.0-rc2 and update upstream (1e64d2e)
  • configs-base: update kernel to 6.8.4 (57ab953)
  • buildroot: update fuse-overlayfs and delve (2c71b8a)
  • starfive/visionfive2: remove kernel/extra fragment (aa05f0b)
  • apps/docker: add kernel fragment with required settings (d0bb086)
  • buildroot: update containerd, docker (5039fe4)
  • skiff/core: bump version to v1.12.0 (55203a9)
  • buildroot: fix rtl8812au build (c949518)
  • configs-base: fix kernel headers version (147c11b)
  • configs-base: update kernel to 6.8.2 (b9cf9ba)
  • apple/intel: fix facetimehd on kernel 6.8.x (22afdcc)
  • buildroot: update rtl8812au-aircrack-ng (a74dc64)
  • configs-base: add built-in modules for usb storage (389ea6c)
  • configs-base: fix busybox against kernel 6.8.x (d9d2717)
  • pi/common: use the 4x variant for rpi firmware (329d8b3)
  • pi/common: set correct kernrel headers series (bccb9b0)
  • pi/common: build image: extend image size to 12gb (84c53b1)
  • pi/common: bump kernel to rpi-6.6.21 (e40d749)
  • configs-base: update kernel to 6.8.1 (a51b61c)
  • buildroot: update to upstream and update rpi-firmware (e442c37)
  • apple/intel: update facetimehd package (8146e93)

Full Changelog: 2024.01...2024.02.1

 

Notes

If you use this software, please cite the arXiv paper.

Files

skiffos/SkiffOS-2024.02.1.zip

Files (2.3 MB)

Name Size Download all
md5:2580683ddddda28f9373bd302bcf0681
2.3 MB Preview Download

Additional details

Related works

Is documented by
Report: arXiv:2104.00048 (arXiv)
Is supplement to
Software: https://github.com/skiffos/SkiffOS/tree/2024.02.1 (URL)
Report: https://zenodo.org/record/4628881 (URL)