Einfache Installation und Verwaltung, zahlreiche vorkompilierte Pakete sowie eine große Community: Linux-Distributionen wie Ubuntu, Debian und Red Hat sind im Desktop-Umfeld weit verbreitet. ARM SystemReady bringt diese Distributionen in Embedded Hardware.
Doch welche Vor- und Nachteile hat dies gegenüber Buildsystemen wie Yocto, und wie lassen sich beliebte Linux-Distributionen in einem ARM-SystemReady-IR-zertifizierten Embedded Device installieren?
ARM SystemReady ist eine Zertifizierung für die Interoperabilität ARM-basierter Hardware mit Linux-Betriebssystemen. Die Entwicklung dafür begann im Jahr 2010 mit dem Ziel, standardisierte Betriebssysteme in beliebiger Server-Hardware installieren zu können.
2018 wurde als Ergebnis das ARM-ServerReady-Zertifizierungsprogramm vorgestellt. Im darauffolgenden Jahr sollte es auch auf ARM-Cortex-A-basierte Systeme übertragen werden. Infolgedessen wurde ARM ServerReady in ARM SystemReady umbenannt.
• ARM SystemReady SR – für Server
• ARM SystemReady ES – für Embedded Server
• ARM SystemReady LS – für Hyperscaler
• ARM SystemReady IR – IoT Ready, für Embedded-IoT-Systeme
Betriebssystem und Hardware sollen »einfach funktionieren«
Grundgedanke der ARM-SystemReady-Zertifizierungen ist, dass Betriebssysteme in einer beliebigen Hardware »einfach funktionieren« sollen. Dazu setzt ARM SystemReady beispielsweise auf UEFI als Interface zwischen Firmware und Betriebssystem. Die Standardisierung vereinfacht den Wechsel und Austausch von Hardware sowie die Software-Pflege.
Für Server und x86-basierte Systeme ist die Umsetzung meist unkompliziert, weil hier häufig Standardkomponenten und -schnittstellen zum Einsatz kommen und Ressourcen wie Rechenleistung und Speicher den Applikationen entsprechend eher großzügig dimensioniert sind. ARM SystemReady IR für Embedded Devices berücksichtigt die niedrigere Rechenleistung und Ressourcenausstattung von Embedded-Systemen und ist gegenüber der Zertifizierung für Server und PCs im Umfang deutlich reduziert. Einen Guide für ARM-SystemReady-Integration, -Test und -Zertifizierung stellt das Unternehmen auf seiner Webseite zur Verfügung. Das Ergebnis der ARM-SystemReady-IR-Zertifizierung soll dennoch das gleiche sein wie für Server: Zertifizierte Elektroniken booten jedes Linux-OS und ermöglichen es grundsätzlich, damit zu arbeiten.
Generische Linux-Distributionen: für Prototyping und Entwicklungseinstieg
Wenn das funktioniert, bieten generische OS auf Basis von Debian (Ubuntu, RaspberryPi OS) oder RPM (Fedora, OpenSuse etc.) einige Vorteile: Entwickler arbeiten hier direkt in einer aus dem PC-Bereich vertrauten Umgebung. Es gibt zahlreiche Programme, die sich aus den bekannten Paketquellen installieren lassen, sowie Unterstützung durch eine große Community. Container für das Ausführen von Programmen sowie die Schnittstelle zu Kernel und Hostsystem werden ebenfalls unterstützt. Hinzu kommt, dass Software-Updates seitens des Betriebssystems zur Verfügung gestellt werden und Funktionen, zum Beispiel für das Update-Management von Devices, bereits implementiert sind.
Die Folge: Mit einer generischen Linux-Distribution können Entwickler schnell und einfach Funktionsmuster aufbauen und mit Entwicklung und Test ihrer Applikation starten; das kann die Entwicklungszeit verkürzen und damit Kosten reduzieren.
»Generic« trifft »Embedded«: Herausforderungen für das Betriebssystem-Design
Was im Ansatz gut klingt, muss in der Praxis und vor allem beim Einsatz in Serienprodukten jedoch mit einigen Besonderheiten von Embedded-Systemen zurechtkommen: Im Gegensatz zu Standard-PCs sind diese meist perfekt an ihre jeweiligen Applikationen angepasst – und die wiederum sind sehr unterschiedlich und häufig sehr speziell. Embedded-Prozessoren tragen dem Rechnung, indem sie ebenfalls jeweils verschiedene Funktionalitäten und Schnittstellen unterstützen; damit differenzieren die Anbieter ihr eigenes Portfolio und dieses gegenüber dem Wettbewerb. Für die jeweiligen Prozessoren bieten die Hersteller eigene Firmware an, die je nach Reifestadium noch nicht in der Linux-Mainline unterstützt werden oder ohnehin proprietäre Elemente enthalten. Generische Linux-Distributionen können das nicht berücksichtigen, sodass die Funktion der Prozessoren – besonders in neuer Hardware – eingeschränkt ist oder das Betriebssystem überhaupt nicht erfolgreich bootet. Das kann erheblichen Aufwand und zusätzliche Treiberentwicklung nach sich ziehen.
Hinzu kommt, dass Embedded-Systeme im Hinblick auf möglichst geringe Serienkosten und maximale Energieeffizienz auf alle unnötigen Bauteile (in Hardware und Software!) verzichten und die Rechenleistung genau passend ausgewählt wird. Im Feldeinsatz müssen Embedded Devices zudem robust sein gegenüber unzuverlässiger Spannungsversorgung und plötzlicher Stromabschaltung sowie Unterbrechungen bei der Datenübertragung. Generische Betriebssysteme sind dafür nicht ausgelegt. Sie sind mit zahlreichen Funktionen ausgestattet und mit Code, der für den späteren Betrieb nicht notwendig ist. Dadurch benötigen sie für Bootvorgang und Betrieb mehr Rechenleistung und Speicher. Das macht die Hardware entsprechend teuer und die Software anfälliger für Fehler oder Manipulationen – beides steht dem Grundgedanken von Embedded-Systemen entgegen.
Das Yocto Buildsystem: Alternative zu Linux in Industrie und Serienprodukten
Aus diesen Gründen haben sich für Embedded-Systeme in professionellen Produkten und für den Serieneinsatz Buildsysteme wie Yocto etabliert, auf das auch Phytec setzt, um individuelle Linux-Distributionen zu erstellen. Anders als generische OS enthalten diese nur die benötigten Pakete und Funktionen für das jeweilige Embedded-System und sorgen so für optimale Anpassung an die Hardware bei zugleich minimalem Bedarf an Rechenleistung und Speicher. Yocto bietet zudem volle Kontrolle über den Build-Prozess, von der Toolchain über die verwendeten Kernel-Versionen bis hin zu den spezifischen Bibliotheken. Das ist wichtig für die Unterstützung besonderer Hardware sowie für Safety und Security. Proprietärer oder noch nicht in die Mainline aufgenommener Code lässt sich ebenfalls integrieren. Darüber hinaus ermöglicht Yocto die Versionskontrolle und ein vereinfachtes Wartungsmanagement für Embedded Hardware.
Nachteil von Yocto ist allenfalls der höhere Entwicklungsaufwand beziehungsweise die Notwendigkeit von Yocto-Kenntnissen für die Entwicklung. Viele Unternehmen bieten dafür jedoch Entwicklungsunterstützung und – wie im Fall von Phytec – Yocto-basierte Betriebssysteme inklusive zahlreicher vorbereiteter Funktionalitäten. Workshops für Kunden und umfassender Support helfen zusätzlich bei der individuellen Anpassung für das jeweilige Projekt und den schnellen Einstieg in die Applikationsentwicklung.
Ein Blick auf die weitere Entwicklung
Für Proof of Concept und frühe Entwicklungsstadien bieten ARM SystemReady und die Unterstützung kompletter Linux-Distributionen in Embedded Hardware wie gezeigt eine Alternative zum vielfach bewährten Yocto Buildsystem – ebenso wie für Projekte, bei denen aus anderen Gründen unbedingt ein generisches OS eingesetzt werden soll. Phytec unterstützt diese Entwicklung und beteiligt sich auch aktiv daran. Mit dem phyBOARD-Pollux mit NXP-i.MX-8M-Plus-Prozessor bietet der Embedded-System-Experte ein erstes ARM-SystemReady-IR-zertifiziertes Prozessorboard an. Ein angepasstes Board-Support-Package mit SystemReady Bootloader sowie ein ARM SystemReady IR Integration Guide stehen auf der Phytec-Website zur Verfügung.
In Zukunft wird Phytec weitere Embedded-Systeme gemäß ARM SystemReady IR zertifizieren und per Default mit der Möglichkeit zur Installation generischer Linux-OS ausstatten – zusätzlich zum eigenen, speziell für die jeweilige Hardware angepassten, Yocto-basierten Board-Support-Package phyBSP. Dem kommt entgegen, dass die zunehmende Trennung von Firmware und OS/Applikationsebene künftig die Nutzung verschiedener BSPs in Embedded Hardware vereinfachen wird. Damit sind Anwender in der Lage, die jeweiligen Vor- und Nachteile generischer Linux-OS und Buildsystem-basierter Betriebssysteme für das jeweilige Projekt und die individuellen Anforderungen und Gegebenheiten abzuwägen. Phytec kennt und unterstützt beide Varianten – und hilft Unternehmen gern bei der Auswahl und Entscheidung.
Phytec auf der embedded world: Halle 3, Stand 341