Welche Variante ist die richtige?

Welche Variante ist die richtige?

Viele Softwareentwickler verwenden Linux als Entwicklungsumgebung und Betriebssystem für ihre Embedded-Entwicklungen, da es in zahlreichen Varianten zur Verfügung steht. Jedoch liegt darin auch gleichzeitig eine der größten Herausforderungen. Letztlich sollte sichergestellt werden, dass man für den jeweiligen Anwendungsfall die geeignete Linux-Variante wählt. Welche Varianten es gibt und welche Vorteile sie bieten, zeigt dieser Beitrag.

 (©sakkmesterke/stock.adobe.com)

(©sakkmesterke/stock.adobe.com)

Enterprise Linux beinhaltet beispielsweise die universellen und Desktop-Linux-Distributionen von Ubuntu oder Red Hat. Damit eignet sich diese Variante besonders für Systeme mit umfassenden Ressourcen, die für breite Anwendungsbereiche und viele Anwender ausgerichtet sind. Die Distributionen unterstützen als ‚Universallösung‘ meist zahlreiche Devices. Sie basieren auf dem verfügbaren Quellcode, dabei sind Anpassungen möglich, aber häufig auf Paketinstallationen und Konfigurationsdateien beschränkt. Enterprise Linux bietet ein solides Anwendererlebnis mit angemessener Zuverlässigkeit für gängige Anwendungen und ein kostengünstiges, auf drei bis fünf Jahre ausgelegtes Supportmodell. Für Embedded-Systeme ist Off-the-Shelf-Linux jedoch nicht die erste Wahl. Es ist zu ressourcenintensiv, bietet eine sehr große Angriffsfläche für Sicherheitsbedrohungen, und die Wartungsfenster sind in der Regel zu kurz. Um es deutlich zu sagen: Enterprise Linux ist für Embedded-Systeme nicht gut geeignet.

Vorteile

  • Solides Anwendererlebnis
  • Kostengünstige Supportmodelle
  • Gute Zuverlässigkeit bei gängigen Anwendungen

Nachteile

  • Sehr eingeschränkte Anpassungsmöglichkeiten
  • Eingeschränkte Performance in ressourcenlimitierten Umgebungen
  • Support nur für 3-5 Jahre

RYO-Linux-Lösungen für Embedded-Systeme

Da sich Off-the-Shelf Enterprise-Linux für das Embedded-Umfeld nicht gut eignet, gehen viele Unternehmen dazu über, für Embedded-Systeme Linux-Lösungen in Eigenregie zu erstellen, allgemein auch als Roll-Your-Own (RYO) Linux bezeichnet. Dabei werden zunächst alle nicht erforderlichen Komponenten aus der Community-Distribution beseitigt. Dahinter steht die Hoffnung, dass man sich, wenn Support vonnöten ist, an die Open-Source-Community wenden kann; eine auf diese Weise angepasste Linux-Lösung basiert ja letztlich auf einer universellen Distribution. In der Realität sieht es jedoch leider so aus, dass die Community mit der neuartigen, angepassten Version eigentlich gar nicht vertraut ist und deshalb auf lange Sicht keinen nennenswerten Support leisten kann. Ohne Unterstützung aus der Community benötigen Unternehmen also eigene Fachleute, die ein tiefgehendes Verständnis des neu erstellten, angepassten OS haben, damit sie Support und Wartung erbringen können. Was anfänglich kein großes Problem darstellt, verursacht mit der Zeit womöglich massive Kopfschmerzen, je größer die Lücke zwischen dem ursprünglichen, noch von der Community unterstützten OS und dem maßgeschneiderten OS wird. Dann gilt es, eigene RYO-Expertise aufzubauen. Damit steigen Support- und Wartungskosten mit der Zeit erheblich.

Vorteile

  • Anfänglich niedrige Kosten
  • Umfassendes Customizing

Nachteile

  • Hohe Kosten für langfristigen Support und Wartung
  • Mehr langfristige Sicherheitsrisiken
  • Expertise muss im Unternehmen aufgebaut werden (Support aus der Open-Source-Community ist nur in sehr geringem Umfang verfügbar)
  • Berücksichtigung von Compliance-Aspekten

Kommerziell unterstütztes Linux

Kommerziell unterstütztes Linux für Embedded-Systeme ist ähnlich ausgerichtet wie kommerziell unterstütztes Enterprise Linux, jedoch ist es speziell für Embedded-Anwendungen ausgelegt. Statt eine Universal-Distribution in ‚Einheitsgrößen‘ anzubieten, erstellen kommerzielle Anbieter einen kompakten Core. Dieser Core unterstützt ressourcenlimitierte Umgebungen sehr zuverlässig; bei Erweiterungen ist nur lokaler Support erforderlich. Das Core-Linux-Framework wird von der Open Embedded und der Yocto Project Community bereitgestellt. In Sachen Support und Customization für die verschiedensten Projektanforderungen kommt damit ein erheblicher Skalenvorteil zum Tragen.

Board Support Packages

Ein Board Support Package (BSP) ist die Softwareschicht, die hardwarespezifische Treiber und andere Programme enthält, mit denen Linux in einer bestimmten Hardwareumgebung laufen kann. Anpassungen sollten nicht nur hinsichtlich einer korrekten Architektur-/OS-Kombination, sondern bis hin zur verwendeten SoC- und Board-Konfiguration vorgenommen werden. In einer für Embedded-Umgebungen optimierten Lösung enthält das BSP zudem eine angepasste Linux-Version (oder ein anderes OS). Ein BSP-Anbieter kann Ihnen maßgeschneiderte Test-Suiten, fachkundige Entwicklungsunterstützung und weitere professionelle Services bieten. BSPs stellen eine effiziente Entwicklungs- und Produktionsumgebung dar, mit der sich viel Zeit einsparen lässt. Zudem werden eine weit höhere Zuverlässigkeit und Qualität erzielt als mit in Eigenregie erstellten Treibern und Hardware Support Packages. BSPs eines kommerziellen Anbieters bieten folgende Vorteile:

  • Kürzere Entwicklungszeiten
  • Knowhow über spezielle Boards und Treiber
  • Skalenvorteil
  • Support und Wartung

Wind River bietet tausende von BSPs an und deckt damit fast alle gängigen Prozessorarchitekturen ab; einige sind derzeit sogar kostenfrei erhältlich. Von einem kommerziellen Anbieter unterstütztes Embedded-Linux bietet das gleiche Maß an Customization und Besonderheiten wie eine RYO-Variante. Beim kommerziell unterstützten Linux basieren jedoch alle Distributionen auf dem gleichen Quellcode, den ein eigens dafür zuständiges Team eingehend überwacht, wartet und patcht, so dass sich hier ein erheblicher Skalenvorteil ergibt. Kommerziell unterstütztes Embedded-Linux bietet kostengünstigen, langfristigen Support und Wartung sowie umfassende Development Lifecycle Services.

Vorteile

  • Geringere Kosten für langfristigen Support und Wartung
  • Weniger technologische, unternehmerische und rechtliche Risiken
  • Beinhaltet umfassende Development Lifecycle Services
  • Schnellere Markteinführung

Nachteile

  • Höhere anfängliche Kosten

Fazit

Kommerzielles Embedded-Linux hat gegenüber RYO-Lösungen, die selbst entwickelt und gewartet werden, in Sachen Rentabilität (ROI) klar die Nase vorne. Auf längere Sicht sind die Gesamtbetriebskosten niedriger, und die unternehmerischen, technologischen und rechtlichen Risiken in Verbindung mit in Eigenregie entwickelten Lösungen lassen sich größtenteils umgehen. Ein kommerzieller Anbieter kann im erforderlichen Umfang Training, Services, Wartung und Support anbieten – die Produktivität steigt, und der Aufwand für die Wartung einer maßgeschneiderten Linux-Distribution sinkt. Um auf einem heiß umkämpften Markt erfolgreich zu sein gilt es, sich auf sein Kerngeschäft zu fokussieren, das heißt hochwertige Produkte herzustellen und die Risiken und Kosten einer Plattformentwicklung zu vermeiden.

Mehr zu dem Thema erfahren Leser übrigens in dem kostenlosen E-Book ‚Embedded Linux: Prototype to Production‘.

Wind River S.A.R.L.
www.windriver.com

Das könnte Sie auch Interessieren