173 lines
4.3 KiB
Markdown
173 lines
4.3 KiB
Markdown
\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}
|