Der Aufwand, um Systeme im Feld ständig auf dem aktuellsten Software-Stand zu halten, kann enorm hoch sein. Die Risiken beim Ausrollen der Software müssen in den Griff gebracht werden. Als Lösung bietet Phytec seinen Kunden das Software-Lifecycle-Management – kurz SLCM – als individuelles Serviceangebot an (siehe Kasten). Das Ziel ist es, über den gesamten Produktlebenszyklus hinweg zeitnah aktuelle Versionen des Kernels und der mittels Yocto erzeugten Distribution zu testen und bereitzuhalten, sodass sie im Bedarfsfall schnell und unkompliziert ausgerollt werden können. Dazu wird das kundenspezifische Board Support Package in einer Testfarm integriert.
Entsprechend der mit dem Kunden vereinbarten Update-Strategie wird die Software auf dem Laufenden gehalten – in der Regel mit jährlichen Major Updates des Yocto Projects und Updates der LTS-Kernel-Version (long time stable) im zweijährigen Rhythmus.
Außerdem werden kontinuierlich Security- und Bugfixes eingespielt. In der Testfarm wird die Hardware mit automatischen Nightly-Builds getestet, sodass etwaige Konflikte schnell erkannt und zeitnah behoben werden können. Gleichzeitig wird die Übereinstimmung der BSPs mit den BSP-Spezifikationen in der Testfarm kontinuierlich überprüft. Sämtliche Resultate werden in Testprotokollen festgehalten.
Durch dieses Vorgehen hat der Kunde zu jedem Zeitpunkt Zugang zu einer aktuellen und getesteten BSP-Version, ohne die Risiken kontinuierlicher Updates im Feld. Routinemäßig oder sobald eine relevante Sicherheitslücke erkannt wird, kann der Kunde das BSP mit seinen eigenen Software-Applikationen testen. Positiver Nebeneffekt ist die klare Trennung von BSP, Middleware und Applikationssoftware, mit der die einzelnen Schichten im Bedarfsfall individuell behandelt werden können, ohne dass sich Fehler durch nicht berücksichtigte Abhängigkeiten ergeben. In der Summe wird das zügige Ausspielen auf die im Feld befindlichen Geräte so deutlich vereinfacht.
Zusätzlich unterstützt werden Software-Updates durch die Vorbereitung des RAUC (Robust Auto-Update Controllers) in allen aktuellen BSPs von Phytec. Der Update-Client sorgt für die zuverlässige Installation von signierten BSP-Updates auf den Embedded-Systemen und wird von Yocto im Meta-RAUC Layer unterstützt.
Auf dem Host-System können mittels des Tools BSP-Updates erstellt, geprüft und modifiziert werden. Phytec unterstützt Kunden sowohl bei der Implementierung der Update-Mechanismen als auch beim Schaffen einer entsprechenden Infrastruktur – von der RAUC-Konfiguration über das Einrichten von Cloud-Services bis hin zum Schutz der Hardware vor dem Aufspielen von Schadsoftware. Dazu bietet das Unternehmen z.B. Hardening an und implementiert Secure Boot. Außerdem berät Phytec seine Kunden bezüglich weiterer Voraussetzungen für die Erfüllung von Security-Anforderungen im Design von Hardware und Software – vom Schlüsselhandling über den Umgang mit Zertifikaten bis hin zum Einrichten und Managen der Cloud-Umgebung für das Ausspielen der Updates.
In einer vernetzten Welt müssen industrielle Systeme mit immer neu entstehenden Sicherheitsherausforderungen schritthalten können. Wer ein Sicherheitsleck nicht schließen kann, hat verloren. Open Source und Mainline schaffen die Basis, Systeme im Feld aktuell halten zu können. Die Reaktionszeit zwischen Bekanntwerden einer Gefahr und dem Ausrollen eines Updates im Feld muss so kurz wie bleiben. Software-Lifecycle-Management als ein kontinuierlicher Prozess ist der Schlüssel, Systeme im Feld aktuell zu halten und auf Gefahren in kürzester Zeit mit stabilen Fixes reagieren zu können.
Phytec Messtechnik auf der embedded world:
Halle 2, Stand 451
Der Autor
Axel Berghoff
arbeitet seit mehr als 20 Jahren für Phytec Messtechnik. Er betreut Großkunden und strategisch wichtige Kunden, mit denen er gemeinsam optimale Projektlösungen erarbeitet – vom Einsatz von Standardmodulen bis hin zu Komplett¬entwicklungen mit umfassenden Leistungen im Bereich Software und Lifecycle-Management.
axel.berghoff@phytec.de