E



Life-Cycle Management

Die Software von Embedded-Systemen wird immer komplexer. Dementsprechend aufwendig ist ihr Life-Cycle-Management. Bei auf Linux basierenden Embedded-Systemen ist beispielsweise ein häufig unterschätzter Aufwand die Pflege von Software. Das Erstellen eines Linux-basierten Board Support Package (BSP) bedeutet in erster Linie Integrationsarbeit. Es werden viele, sehr unterschiedliche Komponenten Dritter integriert. Oft kommt auch Software mit sehr hoher Komplexität hinzu. Die Wahrscheinlichkeit, dass Teile dieser Komponenten über die Produktlebenszeit hinweg Performance-Optimierungen oder Security Fixes erhalten, ist sehr hoch. Eine kontinuierliche Pflege ist daher notwendig. Und ein System ohne die Möglichkeit von Softwareaktualisierungen ins Feld zu bringen, muss unter diesen Gesichtspunkten als grob fahrlässig betrachtet werden. (Siehe hierzu auch das Thema OTA Update.)

Ein Pflegekonzept für ein Produkt beginnt bei der Auswahl des richtigen Linux Kernels. Der Entscheidungsprozess beginnt meist damit, festzulegen ob die vom Hersteller bereitgestellte Version oder die sogenannte Mainline-Version, also die unmodifizierte Linux-Variante aus der Community, zum Einsatz kommt. Wer die Mainline-Version von Linux einsetzt, kann auf das Pflegekonzept der Community zurückgreifen. Für jedes Kernelrelease gibt es die sogenannten Stable-Versionen, die kritische Fehlerbehebungen zur Verfügung stellen. Einige Ausführungen erhalten sogar eine längere Pflege. Dabei handelt es sich um sogenannte Longterm-Releases. Diese werden mindestens für 2 Jahre mit Fehlerbehebungen versorgt, einige sogar deutlich länger.

Doch die Entwicklung eines auf Linux basierenden Produkts umfasst nicht nur die Anpassung des Betriebssystemkerns, sondern auch das Zusammenstellen, Konfigurieren und reproduzierbare Paketieren als Gesamtsystem. Das Zusammenstellen eines solchen Systems ist eine umfangreiche und komplexe Aufgabe. In der Desktop- und Serverwelt greift man daher schon seit mehr als 20 Jahren auf bewährte und gepflegte Linux Distributionen zurück. Im industriellen Umfeld hingegen haben sich Technologien etabliert, mit denen der Anwender seine eigene Linux-Distribution für das jeweilige Zielsystem erstellt. Üblicherweise bedeutet dies notwendigerweise ein Cross-Übersetzen aller verwendeten Softwarekomponenten. Dieser Ansatz ist keineswegs darauf zurückzuführen, dass er einen technologischen Vorteil bietet. Im Gegenteil: Ein solches Vorgehen ist sehr aufwändig und fehlerträchtig. Die Erstellung eigener Linux-Distributionen ist in der Hauptsache historisch begründet. Die etablierten Linux-Distributionen waren lange Zeit nicht für alle CPU-Architekturen verfügbar.

Gut gepflegt und lang verfügbar: Debian

Neben den grundsätzlichen Pflegeaspekten muss im industriellen Umfeld noch eine ganz andere Herausforderung gelöst werden: die langen Produktlebenszyklen. Die reine Verfügbarkeit von Softwareaktualisierungen reicht dafür nicht aus. Auch die verwendete Basistechnologie, also die Linux-Distribution, muss über viele Jahre am Markt verfügbar sein. Das Debian-Projekt wurde bereits 1993 ins Leben gerufen und erfreut sich seither immer größerer Beliebtheit. Neben der Verwendung auf Desktop- und Serversystemen ist auch der Verbreitungsgrad im industriellen Umfeld in den vergangenen Jahren stetig gewachsen. Die lange Projekthistorie, eine große Entwicklergemeinde und viele Nutzer aus unterschiedlichen Anwendungsgebieten garantieren auch langfristig eine umfangreiche Pflege und Weiterentwicklung. Darüber hinaus gibt es das Debian-LTS-Projekt, das sicherstellt, dass alle Debian Releases für mindestens 5 Jahre gepflegt werden. Nicht zuletzt deswegen setzen auch Projekte für kritische Infrastrukturen auf Debian, wie etwa die Civil Infrastructure Platform (CIP) der Linux Foundation.

Auf Wunsch kann die Laufzeit des LTS oder auch des RFS von uns für Sie verlängert werden. Sprechen Sie uns an, wenn Sie an solch einer Lösung Interesse haben.
Neben diesen Komponenten, die auf Ihrem System genutzt werden, muss auch die Infrastruktur wie Toolchain etc. über die gesamte Lebensspanne gewartet und gepflegt werden. Auch dies können wir in diesem Rahmen gerne für Sie übernehmen.

Ein professionelles Buildsystem (beispielsweise ELBE) hilft dabei, die Infrastruktur über den Lebenszyklus hinweg vorzuhalten und mittels geeigneter automatisierter Tests (Stichwort: continous deployment) die Qualität zu gewährleisten. Dieses Testsystem halten entweder wir für Sie vor oder Sie können es von uns beziehen (und pflegen lassen). Auf Wunsch können Sie das gesamte Test- und Freigabe Management an uns übertragen. Gerne erarbeiten wir hier auch spezifische Lösungen mit Ihnen zusammen für ihre spezifischen Anforderungen.

Ein sehr wesentlicher, zusätzlicher und neuer Aspekt ist das Security Monitoring. Ein Thema, das in der Vergangenheit in der Embedded Branche nicht bekannt war. Das aber in seiner Wichtigkeit nicht hoch genug eingeschätzt werden kann. Wir von Linutronix überwachen alle Komponenten Ihres BSPs auf den relevanten Sicherheits-Portalen und bewerten die möglichen Risiken auf Ihren Einfluss für Ihr Produkt. Sie erhalten von uns regelmäßig einen entsprechenden Security Report mit Hinweisen für die Nutzung entsprechender Patche oder einem Update ihres Systems. Selbstverständlich erhalten Sie bei entsprechend hohen Risiken eine sofortige Information zur weiteren Vorgehensweise inkl. notwendiger Patche.
In Absprache mit Ihnen bauen wir die Patche und Updates gerne in das BSP ein und verifizieren mit der gemeinsam festgelegten Testprozedur die Funktionalität und Qualität ihres neuen BSP. Das Ergebnis ist immer ein System, das ein Maximum an Sicherheit bietet, die neuesten Verbesserungen beinhaltet und exakt zu dem Zeitpunkt, den Sie festlegen, zur Verfügung steht.
Im Kontext mit unserem Industrial Grade Linux (und dessen Varianten wie Secure_OS) bietet Linutronix auch Subskriptionen zur kontinuierlichen Wartung, Pflege und Update des BSP an.