yocto: Konzept und Literatur

Yocto ist ein Build-System und hilft, ein embedded Linux-System aufzubauen.

 

Konzept

  • Yocto stellt eine Referenz-System (Poky), durch das viele Tools und Projekte leicht einbaubar sind zur Verfügung.
  • Unter den Cores besteht eine offene Struktur (Metadaten). Dadurch besteht Kompatibilität unter diversen Projekten
  •  Einfaches Buildprogramm (Bitbake), dass mit dieser offenen Struktur umgehen kann und Images buildet.

Wegen dieser Offenheit, können viele BSP (Board Support Packets) der Hersteller eingebunden und weiterentickelt werden. Dadurch muss das Build-System nicht neu erfunden werden.
BSP: Altera stellt über Quartus BSP für FPGAs her. Diese können relativ einfach in Yocto integriert werden. (Device Tree generieren, aus Datei.sof -> Datei.rbf und einen Preloader hinzufügen.)

 

Notwendige Grundlagen-Dateien
Auf dem Speichermedium, vom dem aus gebootet wird, liegen neben dem Yocto-Image weitere Dateien. Yocto ergänzt nur diese Dateien (mit seinem zImage), bzw. hilft, die Grundlagen-Dateiene zu einem funktionstüchtigen Gebilde zusammenzufügen.

  • Bootloader (Image)
  • Bootscript  -> nur so ist das System startfähig
  • Kernel mit Devicetree
  • File System (Image)

 

Struktur Yocto Projekt
-> Ordner build/
conf/                                          layers einstellen,
….

-> ordner pocky/
bitbake/
documentation/
meta/
meta-yocto/
meta-yocto-bsp/                               scripts/                                      um neue Projekte beizufügen
(layers)

Image builden

cd build
bitbake virtual/bootloader
bitbake virtual/kernel
bitbake core-image-minimale     // root file System

 

Vorteile

Die Vorteile von Yocto liegen laut der Linux Foundation darin, dass viele Vorlagen für die Unterstützung spezifischer Hardware (Board Support Packages) vorhanden sind und es einfach ist, das System auf neue Hardware zu portieren. Auch in Lizenzfragen ist man mit Yocto auf der sicheren Seite.

Bücher

  • Embedded Linux Projects Using Yocto Project Cookbook, March 2015
    By Alex González

https://www.packtpub.com/application-development/embedded-linux-development-yocto-project