Anbieter zum Thema
Welche Arten von Buildsystemen gibt es?
Neben den konkreten Umsetzungen eines Buildsystems sind zunächst zwei Unterschiedliche Ansätze zu betrachten: Sourcecodebasierte und Binärcode- (basierte) Systeme. Sourcebasierte Systeme erstellen eine Distribution komplett aus den Quellen (es werden immer alle Quellen neu übersetzt), während Binärsysteme eine Distribution aus vorkompilierten Paketen generieren. Vertreter aus beiden Lagern gibt es wie Sand am Meer. Es gibt allerdings zwei Systeme, die sich im industriellen Umfeld mehr und mehr durchsetzen: Yocto als Vertreter sourcebasierter Buildsysteme und die Ansätze, die auf der Linux-Distribution Debian aufsetzen.
Bei Yocto handelt es sich um ein Projekt, das mehrere Tools umfasst, mit der Zielsetzung einen Werkzeugkasten zur Erstellung einer Linux Distribution bereitzustellen. Dieser beinhaltet bereits eine Beispieldistribution mit dem Namen „Poky“. Yocto und seine Referenzimplementierung Poky haben sich bei einem Großteil der Hardwarehersteller mittlerweile als Standard durchgesetzt, um den Anwendern der Hardware eine einheitlich Umgebung zum Erstellen angepasster Linux-Distributionen für Ihre Systeme zu bieten. Wobei hier weniger die Distribution im Vordergrund steht, sondern eher ein schnelles Ausprobieren der Hardware unter Linux mit der Kundenapplikation. Dass hierbei eine Distribution abfällt, wird gerne als Nebeneffekt mitgenommen.
Yocto hat in sehr hohem Maße zur Standardisierung beigetragen, denn noch vor nicht allzu langer Zeit haben die meisten Hersteller eigene Buildsysteme gepflegt. Allerdings müssen an dieser Stelle einige Fehlinterpretationen im Bezug auf Yocto klargestellt werden: Yocto ist ein Baukasten zum Erstellen einer eigenen Linux-Distribution, nicht mehr und nicht weniger. Sehr häufig wird Yocto als Entwicklungssystem und als Lösung zur Pflege von Hardwarevarianten betrachtet.
Selbstverständlich bietet Yocto die Möglichkeit, auch eine Toolchain und eine Entwicklungsumgebung für den Applikationsentwickler zu erstellen, aber hier hat Yocto ganz klar zwei Rollen definiert: Den Applikationsentwickler und den Integrator. Der Applikationsentwickler kann die mit Yocto erstellten Werkzeuge nutzen, um seine Anwendung zu erstellen und zu debuggen. Das Ergebnis dieser Arbeit wird vom Integrator dann mit Yocto in ein auf die Zielhardware abgestimmtes Linux eingebunden, was nun genau die Aufgaben eines Buildsystems widerspiegelt.
Auch für die Variantenpflege stellt Yocto einige clevere Mechanismen bereit, wie zum Beispiel ein Layer-Konzept. Allerdings bietet Yocto an dieser Stelle nur die notwendige Methodik an; die Aufteilung, wie nun genau mit Varianten umgegangen werden soll, liegt in der Hand des Anwenders.
Artikelfiles und Artikellinks
(ID:43669337)