\pagebreak ## Yocto Project Kein source-code, nur meta daten. Die Regeln, wie der Source-Code gebaut wird, werden in Rezepten festgelegt. docker als build-umgebung. https://hub.docker.com/r/crops/poky poky = yocto. Yocto Project basierend auf Poky Linux. Ausgesprochen "Pocky" wie das japanische Knabberzeug. Alle 6 Monate neue Version. Alle 2 Jahre Long-Term-Support Version. Distro: How I want to put my system together. Machine: the board i want to build for. Image: the selection of packages i want. build cross-compiler. tools for build time. compile code for target machine. ### Layers Layer contains bunch of recipes. 3 layers: bsp: board support package defines a machine and related board-specific packages contains conf/machine/[MACHINE].conf distribution: defines a DISTRO such as Poky contains conf/distro/[DISTRO].conf Software: everything else contains neither conf/machine/[MACHINE].conf nor conf/distro/[DISTRO].conf libraries, e.g. qt5 languages, e.g. Java tools, e.g. virtualisation or selinux ### Recipes contain instructions on how to fetch, configure, compile and install a software component the body contains BitBake metadata (assignment of variables, mostly); the tasks are written in shell script or Python Recipe files have a suffix .bb may be extended with append recipes with .bbappend suffix majority of recipes produce packages. /tmp/deploy/rpm/.. often one recipe produces several packages. IMAGE_INSTALL:append ### Images core-image-base: A console-only image that fully supports the target device hardware. core-image-full-cmdline: A console-only image with more full-featured Linux system functionality installed. core-image-minimal: A small image just capable of allowing a device to boot. core-image-weston: A very basic Wayland image with a terminal. This image provides the Wayland protocol libraries and the reference Weston compositor. For more information, see the “Using Wayland and Weston” section in the Yocto Project Development Tasks Manual. \begin{center} \begin{table}[h] \caption{Example caption} \resizebox{\textwidth}{!}{% \begin{tabular}{|l|l|} \hline Meta-Layer & Branch \\ \hline https://github.com/kraj/meta-clang & 312ff1c39b1bf5d35c0321e873417eb013cea477 \\ \hline https://github.com/meta-flutter/meta-flutter & 82e167a7f13161a4ee9c5a426f13df79987d1055 \\ \hline https://github.com/openembedded/meta-openembedded & fda737ec0cc1d2a5217548a560074a8e4d5ec580 \\ \hline https://github.com/agherzan/meta-raspberrypi & 9dc6673d41044f1174551120ce63501421dbcd85 \\ \hline https://github.com/jwinarske/meta-vulkan & ceb47bd0ed2a9f657fdae48a901e8a41ba697e74 \\ \hline https://codeberg.org/flk/meta-wayland & cb22939f751c74baa51d9474ba6e8ba647e99756 \\ \hline \end{tabular}% } \end{table} \end{center} \begin{figure}[h] \caption{Example caption} \centering \begin{minipage}{7cm} \dirtree{% .1 crops-yocto/. .2 build/. .3 conf/. .4 bblayers.conf. .4 local.conf. .2 poky/. .2 run\char`\_crops.sh. .2 Makefile. } \end{minipage} \end{figure} \begin{figure}[h] \caption{Example caption} \centering \begin{minipage}{7cm} \dirtree{% .1 poky/. .2 meta/. .2 meta-poky/. .2 meta-yocto-bsp/. .2 meta-selftest/. .2 meta-skeleton/. .2 mea-clang/. .2 meta-flutter/. .2 meta-flutter-apps/. .2 meta-flutter-elinux/. .2 meta-openembedded/. .2 meta-raspberrypi/. .2 meta-wayland/. .2 meta-vulkan/. } \end{minipage} \end{figure} \begin{figure}[h] \caption{Example caption} \centering \begin{minipage}{10cm} \dirtree{% .1 meta-flutter-apps/. .2 recipes-graphics/. .3 flutter-apps/. .4 third-party/. .5 flutter-elinux\char`\_git.bb/. .5 flutter-wonders\char`\_git.bb/. } \end{minipage} \end{figure} \begin{figure}[h] \caption{Example caption} \centering \begin{minipage}{10cm} \dirtree{% .1 meta-flutter-elinux/. .2 recipes-core/. .3 custom-scripts/. .4 files/. .5 flutter-auto-launch/. .4 flutter-auto-launch\char`\_1.00.bb. .3 flutter-elinux-rules/. .4 files/. .5 90-interfaces.rules. .4 flutter-elinux-rules\char`\_1.00.bb. .3 flutter-user/. .4 flutter-user\char`\_1.00.bb. .3 systemd/. .4 files/. .5 flutter-auto.service. .5 flutter-pi.service. .4 flutter-auto-service\char`\_1.00.bb. .4 flutter-pi-service\char`\_1.00.bb. .4 systemd\char`\_\%.bbappend. .3 systemd-conf/. .4 files/. .5 en.network. .5 eth.network. .5 wlan.network. .4 systemd-conf\char`\_\%.bbappend. } \end{minipage} \end{figure}