SkiffOS: Minimal Cross-compiled Linux for Embedded Containers
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
Files
2104.00048.pdf
Files
(145.6 kB)
Name | Size | Download all |
---|---|---|
md5:c89eacefe89e111c24137c88d493af83
|
145.6 kB | Preview Download |
Additional details
Identifiers
Related works
- Documents
- Software: 10.5281/zenodo.4629835 (DOI)