Hardwarevirtualisierung für Docker-Container: HypriotOS und balenaOS
Docker ist eine offene Plattform, mit der Entwickler und Systemadministratoren auf leichtem Weg verteilte Anwendungen erstellen, ausliefern und ausführen können, indem sie mit Hilfe von Betriebssystemvirtualisierung in Containern isoliert werden. Das funktioniert auf Laptops, virtuellen Maschinen im Rechenzentrum, in der Cloud – oder, mit der richtigen Konfiguration, auch auf dem Raspberry Pi. Letzteres ist vor allem deshalb praktisch, da der Single Board Computer signifikant weniger Energie benötigt als andere Plattformen.
Eines der ersten Betriebssysteme, um Docker auf das Raspberry Pi zu bringen, was das Anfang 2015 erstmals gestartete HypriotOS. Dabei handelt es sich um ein schlankes Debian-Derivat, das speziell auf die Ansprüche der Open-Source-Software zurechtgeschnitten wurde, um Docker-Container zu betreiben.
Die Community hinter HypriotOS, „Docker Pirates“, ist sehr aktiv und hält das Betriebssystem fleißig up-to-date. Das aktuellste Release trägt die Versionsnummer 1.12.0 (Stand 7. Januar 2020). Die potentielle Sicherheitslücke im Debian-Linux-Kernel, die im Frühjahr 2017 entdeckt wurde und potentielle Gefahren für einen Docker-Host bot, ist darin schon längst behoben. Projekt- und Entwicklercommunity sind aber weiterhin rege aktiv und entwickeln den Docker-Container fürs Raspberry Pi rege weiter.
Eine Alternative zu Hypriot auf dem Gebiet der Docker-Container stellt balenaOS dar, ein Nachfolger des etwas älteren Open-Source-Projektes ResinOS. Dieses Betriebssystem stützt sich statt auf Debian auf einen Yocto-Core, um eine breitere Plattform für Applikationen und Repositories zu bieten, und lässt sich entsprechend schärfer auf individuelle Bedürfnisse zuschneiden.
balenaOS wurde nach Angaben der Entwickler konzipiert, um einen möglichst minimalen Satz an erforderlichen Komponenten zur zuverlässigen Unterstützung des Betriebs der Docker-Engine in eingebetteten Szenarien zu enthalten. Der Netzwerkstack besteht aus Network Manager, DNSmasq und Modem Manager. Zudem besteht die Möglichkeit zu einer direkten Anbindung der gleichnamigen balena Cloud Services.
Während Hypriot vorrangig für den Einsatz auf den Raspberry-Pi-Modellen und Odroid-Boards ausgelegt ist, bietet balenaOS Unterstützung für insgesamt 15 verschiedene Mainline-Hardwareplattformen und zugehörige Varianten, darunter neben den bereits genannten etwa auch das BeagleBone, diverse Intel-Boards oder die NVIDIA-Plattformen Jetson TX1 und TX2. Für Raspberry-Pi-Modelle liegt BalenaOS in vier Ausführungen vor (Stand: 20. März 2020). Dabei ist der jeweilige Build von BalenaOS 2.48.0+rev1 auf die Raspberry Pi Varianten Raspberry Pi (v1 und Zero), Raspberry Pi 2, Raspberry Pi 3B/B+ und Raspberry Pi 4 angepasst.
Echtzeit auf dem Raspberry Pi mit dem Linux PREEMPT_RT-Patch
Der Raspberry Pi ist in zunehmendem Maß auch als Plattform für Embedded Systeme interessant. Anders als bei Media- oder Web-Servern kommt es bei zahlreichen Embedded-Anwendungen allerdings explizit auf vorhersehbare Timings mit niedrigen Latenzzeiten an – Anforderungen, die selbst ein leichtgewichtiges Raspbian-Derivat oder eine der geläufigen Linux-Varianten nur unzureichend erfüllen kann.
Die Echtzeitbetriebssysteme ChibiOS/RT und FreeRTOS unterstützen auch bestimmte ARM-Architekturen. Das eignet sie prinzipiell zum Betrieb auf einigen Raspberry Pi Modellen wie dem Raspberry Pi 2 und 2B. (Im Bild: YouTube-Screenhot einer ChibiOS/RT-Demo auf einem Raspberry Pi).
(Bild: Vergil Cola / YouTube / lightsurge2.blogspot.de)
Für den Raspberry Pi sind zahlreiche Betriebssysteme vorhanden, die jedoch Echtzeitanforderungen in der Regel nur unzureichend erfüllen. Fortgeschrittene Linux-Anwender können dagegen mit Hilfe des PREEMPT_RT Patches des Linux-Mainline-Kernels auf dem Raspberry Pi echte, praktikable Echtzeiteigenschaften erreichen. Dies ist spätestens seit Version 4.4.8 des Linux-Mainline-Kernels auch auf dem Einplatinenrechner praktikabel. Dieser Lösungsansatz bietet sich speziell für das Raspberry Pi 3 mit dem BCM2709-SoC-Chipsatz von Broadcom an.
Anders als bei den meisten hier beschriebenen Betriebssystemen handelt es sich hier um keine „Out-of-the-Box“-Lösung: Anwender müssen in der Lage sein, händisch einen Linux-Mainline-Kernel auf einem Raspberry Pi aufzusetzen und zu konfigurieren. Auf der Website des OSADL finden Sie eine detaillierte Anleitung und die Möglichkeit, sich für einige der aufwändigeren Schritte Skripte generieren zu lassen. Diese Beschreibung wird regelmäßig parallel zu aktuelleren Kernel-Versionen aktualisiert. Der aktuelleste Stand für Echtzeit-Linux ist die gepatchte Kernel-Version 5.6.10-rt5). Für den Raspbian-Kernel 4.19 liegt auch eine kürzlich aktualisierte Patch-Version vor (patch-4.19.120-rt52, Stand 6. Mai 2020)
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.
Eine detaillierte Beschreibung, wie Sie auf einem Raspberry Pi mit dem Linux PREEMT_RT-Patch Echtzeiteigenschaften erreichen können, finden Sie im Fachbeitrag Echtzeit mit dem Raspberry Pi von Dr.-Ing. Claus Kühnel .
Umsetzungen von ChibiOS/RT, FreeRTOS und RTEMS
Ansonsten gab es bereits seit dem Erscheinen des Single Board Computers einige Bemühungen, Mikrokernel auf dem Raspberry Pi zu betreiben und mit zufriedenstellender Funktionalität einzusetzen – mit mehr oder weniger Erfolg. Zwei vielversprechende Portierungen sind die Umsetzungen der auf Open-Source-Kernel aufbauenden Echtzeitbetriebssysteme ChibiOS/RT und FreeRTOS.
ChibiOS/RT ist ein äußerst schnelles RTOS, das über eine GPL3-Lizenz vertrieben wird und für Embedded-Anwendungen auf Basis von 8-, 16- und 32-Bit-Mikrocontrollern konzipiert ist. Es bietet eine gute Leistung beim Context Switching und unterstützt Externe Komponenten (uIP, lwIP, FatFs) sowie C++ Applikationen.
Eine offizielle Unterstützung für das Raspberry Pi besteht nicht, eine Portierung muss eigenhändig kompiliert werden. Es bestehen aber erfolgreiche Ports des RTOS, die zumindest auf einem Raspberry Pi Model 2 erfolgreich und stabil laufen. Eine hier im Detail beschriebene Portierung auf das Raspberry Pi bietet Treiber für GPIO- und serielle Ports, GPT (General-Purpose Timer), I2C, SPI und PWM. Ein zweites, älteres Beispiel mit einigen Codeauszügen ist auch auf diesem Blog zu finden, zusammen mit einem Video einer hierauf aufgesetzten Demo.
Das über GPL-Lizenz kursierende FreeRTOS ist bereits länger erhältlich und eines der populärsten freien Echtzeitbetriebssysteme. Es bietet einen extrem schlanken Mikrokernel, der gerade einmal aus drei C files besteht und damit nur ein Minimum an Arbeitsspeicher benötigt. FreeRTOS wurde bereits auf 35 Mikrocontroller portiert und existiert auch in einer Variante, die ARMv7-Architekturen unterstützt. Damit eignet sich das Echtzeitbetriebssystem prinzipiell auch für den Einsatz auf einem Raspberry Pi 2 Model B.
Eine funktionale Demo besteht und kann seit Mitte 2016 von einem Github-Repository frei bezogen werden. Für den Einsatz in individuellen Anwendungen muss das System allerdings eigenhändig kompiliert werden. Die Portierung ist ein Community-Projekt, weshalb es für den aktiven Einsatz derzeit keinen Support seitens des Entwicklers gibt. Darüber hinaus wurde das Projekt seit dem 11. Dezember 2017 nicht mehr aktualisiert.
Auch das Echtzeitbetriebssystem RTEMS wurde vor einigen Jahren für die Benutzung auf dem Raspberry Pi portiert. Wie in den Fällen von ChiboOS/RT und FreeRTOS handelt es sich dabei um die Portierung eines OpenSource-Kerlnel durch einen einzelnen, unabhängigen Entwickler. Die Umsetzung scheint nicht ganz so gelungen zu sein, wie im Fall von ChibiOS oder FreeRTOS. Dafür wird das Projekt im Gegensatz zu den beiden letztgenannten vom Entwickler weiter verfolgt. Die jeweils aktuellen Daten stehen in einem Github-Repository bereit (Letzter Commit: 4. Januar 2020).