There is a newer version of the record available.

Published February 13, 2024 | Version 2023.11.1
Software Open

SkiffOS: Minimal Cross-compiled Linux for Embedded Containers

  • 1. Aperture Robotics, LLC.

Contributors

Project leader:

  • 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 2023.11.1.

Fixes and improvements:

  • pi/common: update kernel to rpi-6.1.77 (d45fa1e2)
  • buildroot: update docker, runc, containerd, nerdctl (f3f1a028)
  • configs-base: update kernel to 6.7.4 (02430f4b)
  • starfive/visionfive: add cflags and kernel opts (27dff3ed)
  • configs-base: update kernel to 6.7.2 (141c2c5b)
  • configs-base: bump kernel to 6.7.1 (e933b66b)
  • jetson/agx: add SKIFF_NVIDIA_BOARD setting (630d7f6a)
  • chore(deps): update actions/cache action to v4 (8ea3e0c6)
  • virt/docker: remove kernel headers requirement (4f94d116)
  • configs-base: update kernel to 6.6.12 (5e653215)
  • jetson/agx: bump kernel to 5.10.120 (cdcf356f)
  • jetson/common: upgrade linux4tegra to 36.2 (8f5f0d2d)
  • readme: remove outdated note about notes column (eb8e974d)
  • configs-base: update kernel to 6.6.11 (20bc5a56)
  • buildroot: update to go 1.21.6 (07950f5c)
  • configs-base: update kernel to 6.6.10 (07361b95)
  • starfive/visionfive2: upgrade to upstream kernel (b9afaaf1)
  • jetson/tx2: double the cpu performance by changing nvpmodel (fc3cdba1)
  • linux4tegra-legacy: patch nv.sh to remove dpkg (97c81d2f)
  • jetson/tx2: no resize persist, adjust serial port (14c3fcb3)
  • jetson/tx2: fix kernel build (27d810fa)
  • buildroot: allow systemd to be built on older kernels (8fa03e27)
  • jetson/tx2: add alsa seq fix kernel patch (9ac4241c)
  • jetson/tx2: disable kmsg rate limiting (37065b3e)
  • buildroot: update to upstream and rtl8812au (f2babc82)
  • configs-base: update kernel to 6.6.8 (fa0c84b6)
  • buildroot: update and security patch openssh (dc5ee1f9)
  • configs-base: update kernel to 6.6.7 (485ede28)
  • chore(deps): update actions/upload-artifact action to v4 (4ca34f9f)
  • configs-base: update kernel to 6.6.6 (8184c3ac)
  • pi/common: bump kernel to rpi-6.1.66 (9ac8b5b2)

Full Changelog: https://github.com/skiffos/SkiffOS/compare/2023.11...2023.11.1

Notes

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

Files

skiffos/SkiffOS-2023.11.1.zip

Files (2.2 MB)

Name Size Download all
md5:4dc3de190156e90d2579c439ea8008c9
2.2 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/2023.11.1 (URL)
Report: https://zenodo.org/record/4628881 (URL)