Balena OS – A operating system tailored for containers
What is balena OS?
Balena OS has been designed to include the minimal set of required components to reliably support operation of the Docker engine in embedded scenarios. It uses the Yocto framework as a foundation, systemd as the init system.
The networking stack consists of Network Manager, DNSmasq and Modem Manager. We have found these components to be a robust stack for dealing with the diversity of hardware and unpredictability of configuration of networks in which a device may be booted.
In addition, we include Avahi, Dropbear, and OpenVPN, which add support for mDNS, SSH, and VPN connections respectively.
This foundation is uniquely suited to running arbitrary containers on a wide range of embedded devices which balena OS supports. Balena has also made available a wide selection of base images for containers which are optimised for the same scenario and allow developers to create applications based on the Debian, Alpine, or Fedora distributions. That is not to say, of course, that any other container base image may not be used, but that the images by balena have been verified to work well with balena OS, implementing patterns which are particularly suitable for embedded devices, like balena OS itself.
You may also like : IoT Operating Systems
Why Docker containers on embedded devices?
How is this different from cloud operating systems for containers?
By applying the container paradigm to the embedded world, the balenaOS team has faced and solved a unique set of challenges that are not common in the cloud and datacentre world, such as:
- The extreme heterogeneity of device types found in the wild;
- Severely restricted resource envelopes in terms of storage, CPU, and networking;
- Devices that are difficult to reach or re-provision upon failure, where power is unstable and may be turned off at any time, or with custom hardware attached.
BalenaOS is built for this world from scratch, and our deepest architectural and feature choices have been made exclusively with embedded devices in mind. BalenaOS is built for embedded devices, and this focus continues to drive our architectural objectives.
How is this different from other embedded operating systems?
While others have done a fantastic job evangelising the use of containers on embedded devices, balenaOS has the added benefit of focusing on portability, with 20 device types already supported, and production-readiness, with thousands of devices already deployed for business purposes.
Features
- Tailored for containers – Containers will revolutionize connected devices, and balenaOS is the best way to run them.
- Built to last anywhere – Made to survive harsh networking conditions and unexpected shutdowns.
- Just the essentials – A minimal Linux with the services needed to run Docker reliably on an embedded device – nothing else.
- Easy to port – Based on Yocto Linux for easy porting to most capable device types across varied CPU architectures.
- Fast, modern workflow – Who said embedded software has to be slow and painful to develop?
- Open and friendly – Actively developed in the open; community participation warmly welcomed.
Supported Architectures
ARMv7
Raspberry Pi 3 Model B, Raspberry Pi 2 Model B, Beaglebone Black, Beaglebone Green, Beaglebone Green Wireless, Samsung Artik 5, Samsung Artik 10, Odroid C1/C1+, Odroid XU4, SolidRun HummingBoard-base, Boundary Devices Nitrogen6X, Parallella Board, VIA vab820.
ARMv6
Raspberry Pi 1 Model A+, Raspberry Pi ZERO
ARMv5
Technologic Systems TS-7700
Intel x86_32
Intel Edison
Intel x86_64
Intel NUC
We talk about ” Getting Started with Balena OS ” in Next Article.
You may like also:You may like also:
- Best OS for Raspberry Pi
- Setting up a Raspberry Pi headless
- How to Send e-mail using NodeJS
- IoT Operating Systems
Pingback: Balena OS – A operating system tailored for containers — IoTbyHVM – hashstacks
Pingback: IoT OS and RTOS for Internet of Things Devices - CompileIoT
Pingback: OS and RTOS for IoT (Internet of Things) Devices — OnionLinux