Published March 23, 2021 | Version 1.0.0
Report Open

SkiffOS: Minimal Cross-compiled Linux for Embedded Containers

  • 1. Aperture Robotics LLC.

Description

SkiffOS is a lightweight operating system for any Linux-compatible computer, ranging from RPi, Odroid, NVIDIA Jetson, to Desktop PCs, Laptops (i.e. Apple MacBook), Phones (PinePhone), Containers, or Cloud VMs. It is:

  • Adoptable: any userspace can be imported/exported to/from container images.
  • Familiar: uses simple Makefile and KConfig language for configuration.
  • Flexible: supports all major OS distributions inside containers.
  • Portable: containers can be moved between machines of similar CPU type.
  • Reliable: changes inside user environments cannot break the host boot-up.
  • Reproducible: a given Skiff Git tree will always produce identical output.

Uses Buildroot to produce a minimal "single-file" host OS as a standardized base cross-platform operating system "shim" for hosting containers. Most Linux platforms have widely varying requirements for kernel, firmware, and additional hardware support packages. The immutable SkiffOS host system contains everything needed to support the hardware, cleanly separated from the applications.

 

Abstract

Embedded Linux processors are increasingly used for real-time computing tasks such as robotics and Internet of Things (IoT). These applications require robust and reproducible behavior from the host OS, commonly achieved through immutable firmware stored in read-only memory. SkiffOS addresses these requirements with a minimal cross-compiled GNU/Linux system optimized for hosting containerized distributions and applications, and a configuration layering system for the Buildroot embedded cross-compiler tool which automatically re-targets system configurations to any platform or device. This approach cleanly separates the hardware support from the applications. The host system and containers are independently upgraded and backed-up over-the-air (OTA).

 

Notes

Released on Arxiv: http://arxiv.org/abs/2104.00048v1

Files

2104.00048.pdf

Files (145.6 kB)

Name Size Download all
md5:c89eacefe89e111c24137c88d493af83
145.6 kB Preview Download

Additional details

Related works

Documents
Software: 10.5281/zenodo.4629835 (DOI)