diff options
Diffstat (limited to 'distribution/yocto-basic/yocto-workflow.tex')
| -rw-r--r-- | distribution/yocto-basic/yocto-workflow.tex | 214 |
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} |
