Techtalk

Fachthema

Yocto vs. Buildroot - Wie baut man sich sein eigenes Linux?

System-Builder-Tools gibt es in verschiedensten Varianten und Ausprägungen. Zwei haben sich dabei in den letzten Jahren besonders hervor getan: Buildroot und Yocto.

Linux Pinguin Stofftier auf Platine

System-Builder sind Programme, die Linux-System Entwickler dabei unterstützen, die notwendigen Embedded Software Pakete für das zu bauende System auszuwählen. Daraus entsteht eine Linux Distribution, also ein „Betriebssystemkern“ für die Zielplattform - in unserem Fall für ein Embedded Linux System. Dieser kann für den Anwender dann mit den unterschiedlichsten Programmen kombiniert werden.

Diese System-Builder-Tools gibt es in zahlreichen Varianten. Zwei davon sind in unserem Umfeld besonders bekannt:  Buildroot und Yocto.

Beide Projekte sind Open-Source und ermöglichen es, Linux Systeme selbst zu bauen. Sie sind im Industriebereich weit verbreitet und gut dokumentiert. Bei der Verwendung von Buildroot oder Yocto bekommt man sogleich alles, was man für seine eigene kleine Embedded Linux Distribution benötigt:

  • ein Root-Dateisystem
  • eine Toolchain
  • den Linux-Kernel selbst
  • sowie einen Bootloader

Beide Embedded Software Programme verfügen mit jeweils ungefähr 2000 Softwarepaketen annähernd über die gleiche Qualität und Menge und können auf unterschiedliche Zielplattformen und Architekturen, wie ARM oder RiscV zusammengestellt werden. Mann spricht von der sogenannten „Cross-Plattform“.

Was unterscheidet Yocto und Buildroot?

Auf den ersten Blick recht ähnlich, unterscheiden sich beide bei genauerer Betrachtung aber in der Philosophie, wie Systeme gebaut werden:

Yocto

Yocto legt äußersten Wert auf Flexibilität. Durch sein Multi Layer System können verschiedene Hersteller Ihre Software ins System einbringen, ohne dabei andere Schichten zu beeinflussen. Das ermöglicht zum Beispiel ein gezieltes Updaten von Softwareteilen auf einer Plattform. Außerdem können verschiedene Prozessorplattformen in einer Distribution durch das Schichtenmodell einfach gepflegt werden.

Diese Vorteile in der Flexibilität bringen natürlich auch eine gewisse Komplexität mit sich, die es zu verstehen und behandeln gilt. Denn dadurch wird auch die Distribution in der Regel auch etwas anspruchsvoller, zum Beispiel im Speicherverbrauch. Yocto selbst ist ein Open Source-Projekt, wird aber von einem Advisory Board gelenkt, hinter dem große Firmen wie Intel, Texas Instruments, NXP, Renesas oder auch Comcast als Sponsoren stehen.

Buildroot

Buildroot steht für Einfachheit und geringen Ressourcenverbrauch. Die benutzerfreundliche Bedienung erleichtert die Erstellung schlanker und effizienter Embedded-Linux-Systeme. Software-Abhängigkeiten werden automatisch erkannt und korrekt aufgelöst, wodurch der Entwicklungsprozess vereinfacht wird. 

Durch seinen Fokus auf Minimalismus erzeugt Buildroot kompakte Root-Dateisysteme, die genau auf die benötigten Funktionen zugeschnitten sind – ideal für ressourcenbeschränkte Embedded-Systeme. Zudem verzichtet Buildroot auf ein komplexes Paketmanagement zur Laufzeit, was die Systemstabilität erhöht und die Angriffsfläche verringert.

Womit arbeitet Ginzinger?

Ginzinger verwendet System-Builder vor allem dazu, um einen großen Teil der Softwarekomponenten für GELin zu erzeugen. Als hauseigene Embedded Linux Distribution existiert GELin bei Ginzinger electronic systems seit über 15 Jahre in der Embedded Software Entwicklung. Softwarekomponenten werden für genau eine Prozessorarchitektur gebaut - zum Beispiel die i.MX Prozessorreihe von NXP.  GELin bildet eine anwenderfreundliche Abstraktionsschicht, um die Komplexität des System-Builders und der Softwarekomponenten einfach handhabbar zu gestalten.

Ginzinger setzt auf Buildroot als Werkzeug. Die zentrale Pflege, ohne die bei Yocto üblichen Layer, vereinfacht die Kommunikation mit der Community und die Mitarbeit. Die einfachen, klaren und flachen Strukturen sind gut verständlich, ressourcenschonend und relativ rasch beherrschbar. Buildroot erlaubt es Ginzinger aufgrund seiner schlanken Struktur sich voll auf die Implementierung hochoptimierter Lösungen für die Endkunden zu konzentrieren. Zusammen mit dem jahrelangen Entwicklungs-Knowhow bedeutet dies für den Endkundschaft einen enormen Vorteil.

Mehr über GELin erfahren