summaryrefslogtreecommitdiff
path: root/distribution/yocto-basic/yocto-workflow.tex
diff options
context:
space:
mode:
Diffstat (limited to 'distribution/yocto-basic/yocto-workflow.tex')
-rw-r--r--distribution/yocto-basic/yocto-workflow.tex214
1 files changed, 107 insertions, 107 deletions
diff --git a/distribution/yocto-basic/yocto-workflow.tex b/distribution/yocto-basic/yocto-workflow.tex
index 3d9651a..efa3a52 100644
--- a/distribution/yocto-basic/yocto-workflow.tex
+++ b/distribution/yocto-basic/yocto-workflow.tex
@@ -74,8 +74,8 @@ layers should be grouped by functionality
\end{frame}
\begin{frame}[fragile]
- \frametitle{directory layout}
- \begin{verbatim}
+\frametitle{directory layout}
+\begin{verbatim}
poky
├── bitbake
├── documentation
@@ -107,8 +107,8 @@ poky
VAR = "value"
\end{verbatim}
\begin{itemize}
- \item normal assignment
- \item values need to be surrounded by double quotes
+\item normal assignment
+\item values need to be surrounded by double quotes
\end{itemize}
\end{frame}
@@ -119,8 +119,8 @@ VAR ?= "1"
VAR ?= "2"
\end{verbatim}
\begin{itemize}
- \item VAR is set to "1" in this example
- \item if there are multiple assignments using ?= the first one is used
+\item VAR is set to "1" in this example
+\item if there are multiple assignments using ?= the first one is used
\end{itemize}
\end{frame}
@@ -131,8 +131,8 @@ VAR ??= "1"
VAR ??= "2"
\end{verbatim}
\begin{itemize}
- \item VAR is set to "2" in this example
- \item if there are multiple assignments using ??= the last one is used
+\item VAR is set to "2" in this example
+\item if there are multiple assignments using ??= the last one is used
\end{itemize}
\end{frame}
@@ -146,8 +146,8 @@ VAR_B ?= "12"
VAR_B ??= "34"
\end{verbatim}
\begin{itemize}
- \item VAR\_A contains "34"
- \item VAR\_B contains "12"
+\item VAR\_A contains "34"
+\item VAR\_B contains "12"
\end{itemize}
\end{frame}
@@ -161,7 +161,7 @@ VAR ?= "78"
VAR ??= "78"
\end{verbatim}
\begin{itemize}
- \item VAR contains "56"
+\item VAR contains "56"
\end{itemize}
\end{frame}
@@ -176,9 +176,9 @@ VAR_A = "33"
echo ${VAR_A} ${VAR_B} ${VAR_C}
\end{verbatim}
\begin{itemize}
- \item 33 B:33 C:22
- \item the content of VAR\_C is expanded immediately on assignment
- \item the content of VAR\_B is expanded on use
+\item 33 B:33 C:22
+\item the content of VAR\_C is expanded immediately on assignment
+\item the content of VAR\_B is expanded on use
\end{itemize}
\end{frame}
@@ -191,9 +191,9 @@ VAR_B = "56"
VAR_B =+ "78"
\end{verbatim}
\begin{itemize}
- \item VAR\_A contains "12 34"
- \item VAR\_B contains "78 56"
- \item there are spaces between the appended values
+\item VAR\_A contains "12 34"
+\item VAR\_B contains "78 56"
+\item there are spaces between the appended values
\end{itemize}
\end{frame}
@@ -206,9 +206,9 @@ VAR_B = "56"
VAR_B =. "78"
\end{verbatim}
\begin{itemize}
- \item VAR\_A contains "1234"
- \item VAR\_B contains "7856"
- \item there are no spaces between the appended values
+\item VAR\_A contains "1234"
+\item VAR\_B contains "7856"
+\item there are no spaces between the appended values
\end{itemize}
\end{frame}
@@ -232,8 +232,8 @@ VAR_append = "56"
VAR_prepend = "12"
\end{verbatim}
\begin{itemize}
- \item VAR contains "123456"
- \item there are no spaces between the appended values
+\item VAR contains "123456"
+\item there are no spaces between the appended values
\end{itemize}
\end{frame}
@@ -245,7 +245,7 @@ VAR = "foo"
VAR_string1 = "bar"
\end{verbatim}
\begin{itemize}
- \item if string1 is listed in OVERRIDES, use "bar" for value of VAR, otherwise use "foo"
+\item if string1 is listed in OVERRIDES, use "bar" for value of VAR, otherwise use "foo"
\end{itemize}
\end{frame}
@@ -255,7 +255,7 @@ VAR_string1 = "bar"
VAR[some_flag]="foo"
\end{verbatim}
\begin{itemize}
- \item associate a subsidiary flag value to a variable
+\item associate a subsidiary flag value to a variable
\end{itemize}
\end{frame}
@@ -268,8 +268,8 @@ B = "2"
A2 = "Y"
\end{verbatim}
\begin{itemize}
- \item Key expansion happens just before BitBake expands overrides.
- \item A2 contains "X"
+\item Key expansion happens just before BitBake expands overrides.
+\item A2 contains "X"
\end{itemize}
\end{frame}
@@ -413,8 +413,8 @@ $ bitbake -e <recipe-name> | grep FILESPATH
\begin{frame}
\frametitle{SRC\_URI patch options}
\begin{itemize}
- \item patches are applied in the order they appear in SRC\_URI
- \item quilt is used to apply the patches
+\item patches are applied in the order they appear in SRC\_URI
+\item quilt is used to apply the patches
\end{itemize}
\begin{description}
\item[apply=no] apply patch or not; default is yes
@@ -497,10 +497,10 @@ Same as include, but returns an error, if include file not found.
\begin{frame}
\frametitle{basics}
\begin{itemize}
- \item are typically used to modify or extend the functionality of the base
- recipe
- \item it's recommended by the Yocto project to use bbappend files instead
- of copying and modyfiing a recipe in an own layer
+\item are typically used to modify or extend the functionality of the base
+ recipe
+\item it's recommended by the Yocto project to use bbappend files instead
+ of copying and modyfiing a recipe in an own layer
\end{itemize}
\end{frame}
@@ -516,8 +516,8 @@ an append file must be named after the base package:
\begin{frame}
\frametitle{basics}
\begin{itemize}
- \item python can be used to write functions
- \item e.g. write your own image generation class
+\item python can be used to write functions
+\item e.g. write your own image generation class
\end{itemize}
\end{frame}
@@ -525,17 +525,17 @@ an append file must be named after the base package:
\begin{frame}
\frametitle{basics}
\begin{itemize}
- \item are defined and ordered in classes
- \item can be overridden by classes and recipes
+\item are defined and ordered in classes
+\item can be overridden by classes and recipes
\end{itemize}
\end{frame}
\begin{frame}
- \frametitle{download \& patch}
+\frametitle{download \& patch}
\begin{description}
\item [do\_checkuri] validates the SRC\_URI value
\item [do\_checkuriall] validates the SRC\_URI value for all recipes required
- to build a target"
+ to build a target"
\item [do\_fetch] fetches the source code
\item [do\_fetchall] fetches all remote sources required to build a target
\item [do\_unpack] unpacks the source code into a working directory
@@ -544,18 +544,18 @@ an append file must be named after the base package:
\end{frame}
\begin{frame}
- \frametitle{configure \& compile}
+\frametitle{configure \& compile}
\begin{description}
\item [do\_configure] configures the source by enabling and disabling any
- build-time and configuration options for the software being built
+ build-time and configuration options for the software being built
\item [do\_configure\_ptest\_base] configures the runtime test suite included
- in the software being built
+ in the software being built
\item [do\_compile] compiles the source in the compilation directory
\item [do\_install] copies files from the compilation directory to a holding
- area
+ area
\item [do\_populate\_sysroot] copies a subset of files installed by
- do\_install into the sysroot in order to make them available to other
- recipes
+ do\_install into the sysroot in order to make them available to other
+ recipes
\end{description}
\end{frame}
@@ -563,34 +563,34 @@ an append file must be named after the base package:
\frametitle{packaging}
\begin{description}
\item [do\_packagedata] creates package metadata used by the build system to
- generate the final packages
+ generate the final packages
\item [do\_package] analyzes the content of the holding area and splits it
- into subsets based on available packages and files
+ into subsets based on available packages and files
\item [do\_package\_write] creates the actual packages and places them in the
- Package Feed area
+ Package Feed area
\item [do\_package\_write\_deb] creates the actual DEB packages and places
- them in the Package Feed area
+ them in the Package Feed area
\item [do\_package\_write\_ipk] creates the actual IPK packages and places
- them in the Package Feed area
+ them in the Package Feed area
\item [do\_package\_write\_rpm] creates the actual RPM packages and places
- them in the Package Feed area
+ them in the Package Feed area
\item [do\_package\_write\_tar] creates tar archives for packages and places
- them in the Package Feed area
+ them in the Package Feed area
\item [do\_package\_index] creates or updates the index in the Package Feed
- area
+ area
\end{description}
\end{frame}
\begin{frame}
- \frametitle{deploy}
+\frametitle{deploy}
\begin{description}
\item [do\_rootfs] creates the root filesystem (file and directory structure)
- for an image
+ for an image
\item [do\_vmdkimg] creates a .vmdk image for use with VMware and compatible
- virtual machine hosts"
+ virtual machine hosts"
\item [do\_deploy] writes deployable output files to the deploy directory
\item [do\_populate\_sdk] creates the file and directory structure for an
- installable SDK
+ installable SDK
\end{description}
\end{frame}
@@ -599,13 +599,13 @@ an append file must be named after the base package:
\begin{description}
\item [do\_clean] removes all output files for a target
\item [do\_cleanall] removes all output files, shared state cache, and
- downloaded source files for a target
+ downloaded source files for a target
\item [do\_cleansstate] removes all output files and shared state cache for a
- target
+ target
\item [do\_rm\_work] removes work files after the build system has finished
- with them
+ with them
\item [do\_rm\_work\_all] top-level task for removing work files after the
- build system has finished with them
+ build system has finished with them
\end{description}
\end{frame}
@@ -613,20 +613,20 @@ an append file must be named after the base package:
\frametitle{kernel}
\begin{description}
\item [do\_kernel\_checkout] checks out source/meta branches for a linux-yocto
- style kernel
+ style kernel
\item [do\_validate\_branches] ensures that the source/meta branches are on
- the locations specified by their SRCREV values for a linux-yocto style
- kernel"
+ the locations specified by their SRCREV values for a linux-yocto style
+ kernel"
\item [do\_kernel\_configme] assembles the kernel configuration for a
- linux-yocto style kernel
+ linux-yocto style kernel
\item [do\_menuconfig] runs 'make menuconfig' for the kernel
\item [do\_diffconfig] compares the old and new config files after running
- do\_menuconfig for the kernel
+ do\_menuconfig for the kernel
\item [do\_savedefconfig] creates a minimal Linux kernel configuration file
\item [do\_kernel\_configcheck] validates the kernel configuration for a
- linux-yocto style kernel
+ linux-yocto style kernel
\item [do\_sizecheck] checks the size of the kernel image against
- KERNEL\_IMAGE\_MAXSIZE (if set)
+ KERNEL\_IMAGE\_MAXSIZE (if set)
\end{description}
\end{frame}
@@ -634,12 +634,12 @@ an append file must be named after the base package:
\frametitle{kernel}
\begin{description}
\item [do\_compile\_kernelmodules] compiles loadable modules for the Linux
- kernel
+ kernel
\item [do\_strip] strips unneeded sections out of the Linux kernel image
\item [do\_kernel\_link\_vmlinux] creates a symbolic link in arch/\$arch/boot
- for vmlinux kernel images
+ for vmlinux kernel images
\item [do\_bundle\_initramfs] combines an initial ramdisk image and kernel
- together to form a single image
+ together to form a single image
\end{description}
\end{frame}
@@ -647,9 +647,9 @@ an append file must be named after the base package:
\frametitle{licenses}
\begin{description}
\item [do\_populate\_lic] writes license information for the recipe that is
- collected later when the image is constructed
+ collected later when the image is constructed
\item [do\_spdx] a build stage that takes the source code and scans it on a
- remote FOSSOLOGY server in order to produce an SPDX document
+ remote FOSSOLOGY server in order to produce an SPDX document
\end{description}
\end{frame}
@@ -657,11 +657,11 @@ an append file must be named after the base package:
\frametitle{special stuff}
\begin{description}
\item [do\_uboot\_mkimage] creates a uImage file from the kernel for the
- U-Boot bootloader
+ U-Boot bootloader
\item [do\_generate\_qt\_config\_file] writes a qt.conf file for building a
- Qt-based application
+ Qt-based application
\item [do\_devshell] starts a shell with the environment set up for
- development/debugging
+ development/debugging
\item [do\_listtasks] lists all defined tasks for a target
\end{description}
\end{frame}
@@ -671,49 +671,49 @@ an append file must be named after the base package:
\frametitle{basics}
a machine config is used to describe a board
\begin{itemize}
- \item machine configs are stored in the layers: conf/machine/*
- \item settings can be splitted in different include *.inc files
- \item e.g. one include for CPU that is used by the SoC inc file,
+\item machine configs are stored in the layers: conf/machine/*
+\item settings can be splitted in different include *.inc files
+\item e.g. one include for CPU that is used by the SoC inc file,
that is used by the Board .conf file
- \item the include files can be stored in different layers
+\item the include files can be stored in different layers
\end{itemize}
\end{frame}
\begin{frame}
- \frametitle{u-boot \& kernel}
+\frametitle{u-boot \& kernel}
\begin{description}
- \item [UBOOT\_MACHINE] value passed on the make command line when building a
- U-Boot image
- \item [UBOOT\_MAKE\_TARGET] target called in the Makefile
- \item [UBOOT\_ENTRYPOINT] entry point for the U-Boot image
- \item [PREFERRED\_PROVIDER\_virtual/kernel] default kernel
- \item [KERNEL\_DEVICETREE] default devicetree
- \item [KERNEL\_IMAGETYPE] type of kernel to build for a device,
- defaults to 'zImage'
+\item [UBOOT\_MACHINE] value passed on the make command line when building a
+ U-Boot image
+\item [UBOOT\_MAKE\_TARGET] target called in the Makefile
+\item [UBOOT\_ENTRYPOINT] entry point for the U-Boot image
+\item [PREFERRED\_PROVIDER\_virtual/kernel] default kernel
+\item [KERNEL\_DEVICETREE] default devicetree
+\item [KERNEL\_IMAGETYPE] type of kernel to build for a device,
+ defaults to 'zImage'
\end{description}
\end{frame}
\begin{frame}
- \frametitle{hardware}
+\frametitle{hardware}
\begin{description}
- \item[SOC\_FAMILY] groups together machines based upon the same family of SOC
- (System On Chip)
- \item [MACHINEOVERRIDES] lists overrides specific to the current machine.
- By default, this list includes the value of MACHINE. This can be used in
- recipes; e.g. MACHINEOVERRIDES =. "mymachine" and in the recipe
- SRC\_URI\_append\_mymachine = "file://mymachine-quirk.patch"
- \item [MACHINE\_FEATURES] list of hardware features the MACHINE supports
- \footnote{acpi, alsa, apm, bluetooth, ext2, irda, keyboard, pci, pcmcia,
- screen, serial, touchscreen, usbgadget, usbhost, wifi}
- \item [MACHINE\_EXTRA\_RRECOMMENDS] list of machine-specific packages to
- install as part of the image being built that are not essential for booting
- the machine. The image being built has no build dependencies on the packages
- in this list.
+\item[SOC\_FAMILY] groups together machines based upon the same family of SOC
+ (System On Chip)
+\item [MACHINEOVERRIDES] lists overrides specific to the current machine.
+ By default, this list includes the value of MACHINE. This can be used in
+ recipes; e.g. MACHINEOVERRIDES =. "mymachine" and in the recipe
+ SRC\_URI\_append\_mymachine = "file://mymachine-quirk.patch"
+\item [MACHINE\_FEATURES] list of hardware features the MACHINE supports
+\footnote{acpi, alsa, apm, bluetooth, ext2, irda, keyboard, pci, pcmcia,
+ screen, serial, touchscreen, usbgadget, usbhost, wifi}
+\item [MACHINE\_EXTRA\_RRECOMMENDS] list of machine-specific packages to
+ install as part of the image being built that are not essential for booting
+ the machine. The image being built has no build dependencies on the packages
+ in this list.
\item [SERIAL\_CONSOLE] speed and device for the serial port used to attach
- the serial console. This variable is given to the kernel as the 'console'
- parameter. After booting occurs, getty is started on that port so remote
- login is possible.
- \end{description}
+ the serial console. This variable is given to the kernel as the 'console'
+ parameter. After booting occurs, getty is started on that port so remote
+ login is possible.
+\end{description}
\end{frame}
\begin{frame}
@@ -733,6 +733,6 @@ that is used by the Board .conf file
\item [PREFERRED\_PROVIDER\_virtual/kernel] recommended kernel
\item [IMAGE\_FSTYPES] formats for the rootfs, e.g. "ext3 tar.bz2"
\item [IMAGE\_CLASSES] list of classes that all images should inherit, default
- is image\_types, e.g. to hook in own image generation code
+ is image\_types, e.g. to hook in own image generation code
\end{description}
\end{frame}