diff options
Diffstat (limited to 'distribution')
20 files changed, 382 insertions, 382 deletions
diff --git a/distribution/debian/pres_debian.tex b/distribution/debian/pres_debian.tex index 5736c4e..1771d21 100644 --- a/distribution/debian/pres_debian.tex +++ b/distribution/debian/pres_debian.tex @@ -60,11 +60,11 @@ These standards are backed up by \item automation (wanna\_build, version tracking) \item documentation (http://debian.org/doc/): \begin{itemize} - \item New Maintainer Guide - \item Debian Policies - \item Porting Guide - \item Developer Reference - \item Securing Debian +\item New Maintainer Guide +\item Debian Policies +\item Porting Guide +\item Developer Reference +\item Securing Debian \end{itemize} \end{itemize} All of Debian's key elements are open and visible. diff --git a/distribution/elbe-adk/pres_elbe-adk_en.tex b/distribution/elbe-adk/pres_elbe-adk_en.tex index 4e9fc1a..d077696 100644 --- a/distribution/elbe-adk/pres_elbe-adk_en.tex +++ b/distribution/elbe-adk/pres_elbe-adk_en.tex @@ -31,39 +31,39 @@ $ make run-con \end{frame} \begin{frame}[fragile] - \frametitle{mini.xml} - \begin{lstlisting} - <project> - <name>mini xml</name> - <version>1</version> - <description> - optimal to use as buildenv - </description> - <buildtype>armhf</buildtype> - <mirror> - <primary_host>ftp.debian.org</primary_host> - <primary_path>/debian</primary_path> - <primary_proto>http</primary_proto> - </mirror> - <suite>wheezy</suite> - </project> - \end{lstlisting} + \frametitle{mini.xml} + \begin{lstlisting} + <project> + <name>mini xml</name> + <version>1</version> + <description> + optimal to use as buildenv + </description> + <buildtype>armhf</buildtype> + <mirror> + <primary_host>ftp.debian.org</primary_host> + <primary_path>/debian</primary_path> + <primary_proto>http</primary_proto> + </mirror> + <suite>wheezy</suite> + </project> + \end{lstlisting} \end{frame} \begin{frame}[fragile] - \frametitle{mini.xml} - \begin{lstlisting} - <target> - <hostname>mini</hostname> - <domain>linutronix</domain> - <passwd>foo</passwd> - <finetuning> - </finetuning> - <pkg-list> - <pkg>bash</pkg> - </pkg-list> - </target> - \end{lstlisting} + \frametitle{mini.xml} + \begin{lstlisting} + <target> + <hostname>mini</hostname> + <domain>linutronix</domain> + <passwd>foo</passwd> + <finetuning> + </finetuning> + <pkg-list> + <pkg>bash</pkg> + </pkg-list> + </target> + \end{lstlisting} \end{frame} \begin{frame}[fragile] diff --git a/distribution/elbe-commands/pres_elbe-commands_en.tex b/distribution/elbe-commands/pres_elbe-commands_en.tex index 4a91e4f..f583a26 100644 --- a/distribution/elbe-commands/pres_elbe-commands_en.tex +++ b/distribution/elbe-commands/pres_elbe-commands_en.tex @@ -19,7 +19,7 @@ Create a new project: \begin{verbatim} $ elbe initvm create \ - --directory /home/user/elbe-initvm + --directory /home/user/elbe-initvm \end{verbatim} \end{frame} @@ -70,7 +70,7 @@ validation.txt \item ISO image that contains all used binary debian packages \item it is only created if the --build-bin switch was provided at elbe initvm submit \item a rebuild of the initvm and target image can be done with this cdrom and - without a connection to a debian repository. + without a connection to a debian repository. \end{itemize} \end{frame} diff --git a/distribution/elbe-overview/pres_elbe-overview_en.tex b/distribution/elbe-overview/pres_elbe-overview_en.tex index 6d935e2..0c078f8 100644 --- a/distribution/elbe-overview/pres_elbe-overview_en.tex +++ b/distribution/elbe-overview/pres_elbe-overview_en.tex @@ -1,7 +1,7 @@ \input{configpres} \begin{frame}[fragile] - \includegraphics[width=\textwidth]{images/Dresden_Elbe_Terrassenufer.jpg} +\includegraphics[width=\textwidth]{images/Dresden_Elbe_Terrassenufer.jpg} \end{frame} \title{\includegraphics[width=8cm]{images/elbe-logo.png}} @@ -71,7 +71,7 @@ buildroot \begin{frame}[fragile] \frametitle{what is \includegraphics[height=0.7em]{images/elbe-logo.png}?} - \includegraphics[height=\textheight]{images/elbe-io-chart.png} +\includegraphics[height=\textheight]{images/elbe-io-chart.png} \end{frame} \section{prepare environment} @@ -288,7 +288,7 @@ are used to strip target-images \begin{frame} \center - \includegraphics[width=10cm]{images/tux-chamber.jpg} +\includegraphics[width=10cm]{images/tux-chamber.jpg} \endcenter \end{frame} @@ -302,11 +302,11 @@ are used to strip target-images \item[elbe-updated] for embedded target to apply update packages \item[elbe-daemon] for virtual machine (wsgi server) \item[elbe-soap] for virtual machine - - implements SOAP interface + + implements SOAP interface \item[elbe-control] for host PC - - controls SOAP interface + + controls SOAP interface \end{description} \end{frame} @@ -315,12 +315,12 @@ are used to strip target-images \frametitle{architecture} \begin{block}{technologies} \begin{itemize} - \item python - \item qemu-user - \item python-apt - \item python-mako - \item python-parted - \item sqlalchemy +\item python +\item qemu-user +\item python-apt +\item python-mako +\item python-parted +\item sqlalchemy \end{itemize} \end{block} \end{frame} diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex index 13b673e..f5e104a 100644 --- a/distribution/yocto-advanced/pres_yocto-advanced.tex +++ b/distribution/yocto-advanced/pres_yocto-advanced.tex @@ -7,10 +7,10 @@ \begin{frame} \frametitle{Agenda} \begin{itemize} - \item Using BSP layers - \item Create layers \& recipes for own applications - \item Define a distribution - \item Integrate own Kernel +\item Using BSP layers +\item Create layers \& recipes for own applications +\item Define a distribution +\item Integrate own Kernel \end{itemize} \end{frame} @@ -50,7 +50,7 @@ TEMPLATECONF=${TEMPLATECONF:-meta-yocto/conf} \input{yocto-resume} \begin{frame} - \frametitle{Application Development Excercise} +\frametitle{Application Development Excercise} \begin{itemize} \item generate a standalone or integrated SDK \item configure the SDK in eclipse diff --git a/distribution/yocto-advanced/yocto-add-simple-application.tex b/distribution/yocto-advanced/yocto-add-simple-application.tex index 18d3130..f5f3ebd 100644 --- a/distribution/yocto-advanced/yocto-add-simple-application.tex +++ b/distribution/yocto-advanced/yocto-add-simple-application.tex @@ -1,9 +1,9 @@ \begin{frame} \frametitle{adding an own application} \begin{itemize} - \item recipe already available? check http://layers.openembedded.org - \item look for a similar recipe - \item proper bbclass available? +\item recipe already available? check http://layers.openembedded.org +\item look for a similar recipe +\item proper bbclass available? \end{itemize} on the next slides, we have a look what is useful for very simple applications, autotools and cmake based projects and qt applications. diff --git a/distribution/yocto-advanced/yocto-distro-definitions.tex b/distribution/yocto-advanced/yocto-distro-definitions.tex index dbd2ec4..bbb5e71 100644 --- a/distribution/yocto-advanced/yocto-distro-definitions.tex +++ b/distribution/yocto-advanced/yocto-distro-definitions.tex @@ -13,10 +13,10 @@ \begin{description} \item[cramfs] CramFS support \item[ext2] tools for supporting for devices with internal HDD/Microdrive - for storing files (instead of Flash only devices) + for storing files (instead of Flash only devices) \item[nfs] NFS client support (for mounting NFS exports on device) \item[smbfs] SMB networks client support - (for mounting Samba/Microsoft Windows shares on device) + (for mounting Samba/Microsoft Windows shares on device) \end{description} \end{frame} @@ -24,7 +24,7 @@ \frametitle{distro features: hardware support} \begin{description} \item[alsa] ALSA/sound support - (OSS compatibility kernel modules installed if available) + (OSS compatibility kernel modules installed if available) \item[bluetooth] bluetooth support (integrated BT only) \item[irda] IrDA support \item[wifi] WiFi support (integrated only). @@ -36,8 +36,8 @@ \frametitle{distro features: grahpics} \begin{description} \item[opengl] the Open Graphics Library, which is a cross-language, - multi-platform application programming interface used for rendering two - and three-dimensional graphics + multi-platform application programming interface used for rendering two + and three-dimensional graphics \item[directfb] DirectFB support \end{description} \end{frame} @@ -58,7 +58,7 @@ \item[pcmcia] PCMCIA/CompactFlash support \item[usbgadget] USB Gadget Device support (for USB networking/serial/storage) \item[usbhost] USB Host support - (allows to connect external keyboard, mouse, storage, network etc) + (allows to connect external keyboard, mouse, storage, network etc) \end{description} \end{frame} @@ -66,10 +66,10 @@ \frametitle{distro features: software} \begin{description} \item[systemd] support for this init manager, which is a full replacement of - for init with parallel starting of services, reduced shell overhead, - and other features. This init manager is used by many distributions + for init with parallel starting of services, reduced shell overhead, + and other features. This init manager is used by many distributions \item[wayland] the Wayland display server protocol - and the library that supports it + and the library that supports it \item[x11] X server and libraries \end{description} \end{frame} diff --git a/distribution/yocto-advanced/yocto-excercise-build-bbb-img.tex b/distribution/yocto-advanced/yocto-excercise-build-bbb-img.tex index b679a79..1ebaba5 100644 --- a/distribution/yocto-advanced/yocto-excercise-build-bbb-img.tex +++ b/distribution/yocto-advanced/yocto-excercise-build-bbb-img.tex @@ -1,12 +1,12 @@ \begin{frame}[fragile] - \frametitle{Excercise} - 1) Add sample configs to the meta-foo/mybsp layers providing a valid - layer configuration and a build configuration that creates a - debug RFS for our self defined machine, by using our distribution. - The configus should Use packages in deb format and the shared - download directory from the poky directory. +\frametitle{Excercise} +1) Add sample configs to the meta-foo/mybsp layers providing a valid +layer configuration and a build configuration that creates a +debug RFS for our self defined machine, by using our distribution. +The configus should Use packages in deb format and the shared +download directory from the poky directory. - 2) create a new build directory, e.g. build-bbb and build our self - defined image. +2) create a new build directory, e.g. build-bbb and build our self +defined image. \end{frame} diff --git a/distribution/yocto-advanced/yocto-img-customization.tex b/distribution/yocto-advanced/yocto-img-customization.tex index 6bebb56..cdbe53f 100644 --- a/distribution/yocto-advanced/yocto-img-customization.tex +++ b/distribution/yocto-advanced/yocto-img-customization.tex @@ -1,13 +1,13 @@ \begin{frame}[fragile] \frametitle{adding a bootscript} \begin{itemize} - \item add 'systemd' to DISTRO\_FEATURES - \item inherit from systemd.bbclass - \item your package needs to set SYSTEMD\_SERVICE variable; e.g. +\item add 'systemd' to DISTRO\_FEATURES +\item inherit from systemd.bbclass +\item your package needs to set SYSTEMD\_SERVICE variable; e.g. \begin{verbatim} SYSTEMD_SERVICE_${PN} = "connman.service" \end{verbatim} - \item to disable the service, set SYSTEMD\_AUTO\_ENABLE to 'disable' +\item to disable the service, set SYSTEMD\_AUTO\_ENABLE to 'disable' \end{itemize} \end{frame} diff --git a/distribution/yocto-advanced/yocto-layers.tex b/distribution/yocto-advanced/yocto-layers.tex index 2bd6286..1feab37 100644 --- a/distribution/yocto-advanced/yocto-layers.tex +++ b/distribution/yocto-advanced/yocto-layers.tex @@ -20,26 +20,26 @@ meta-mylayer \end{frame} \begin{frame}[fragile] - \frametitle{meta-*/conf/layer.conf} - each layer needs a configuration file - \begin{itemize} - \item add conf and class directories to BBPATH - \begin{verbatim}BBPATH =. "${LAYERDIR}"\end{verbatim} - \item add recipe directories to BBFILES - \begin{verbatim}BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ -${LAYERDIR}/recipes-*/*/*.bbappend"\end{verbatim} - \item add layer name to BBFILE\_COLLECTIONS - \begin{verbatim}BBFILE_COLLECTIONS += "mylayer"\end{verbatim} - \item set root of the layer - \begin{verbatim}BBFILE_PATTERN_mylayer = "^${LAYERDIR}/"\end{verbatim} - \item set default priority of the layer - \begin{verbatim}BBFILE_PRIORITY_mylayer = "5"\end{verbatim} - \item set version of layer (only increment if dependencies with other - layers are affected) - \begin{verbatim}LAYERVERSION_mylayer = "2"\end{verbatim} - \item set dependencies to other layers - \begin{verbatim}LAYERDEPENDS_mylayer = "meta-yocto"\end{verbatim} - \end{itemize} +\frametitle{meta-*/conf/layer.conf} +each layer needs a configuration file +\begin{itemize} +\item add conf and class directories to BBPATH +\begin{verbatim}BBPATH =. "${LAYERDIR}"\end{verbatim} +\item add recipe directories to BBFILES +\begin{verbatim}BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend"\end{verbatim} +\item add layer name to BBFILE\_COLLECTIONS +\begin{verbatim}BBFILE_COLLECTIONS += "mylayer"\end{verbatim} +\item set root of the layer +\begin{verbatim}BBFILE_PATTERN_mylayer = "^${LAYERDIR}/"\end{verbatim} +\item set default priority of the layer +\begin{verbatim}BBFILE_PRIORITY_mylayer = "5"\end{verbatim} +\item set version of layer (only increment if dependencies with other + layers are affected) +\begin{verbatim}LAYERVERSION_mylayer = "2"\end{verbatim} +\item set dependencies to other layers +\begin{verbatim}LAYERDEPENDS_mylayer = "meta-yocto"\end{verbatim} +\end{itemize} \end{frame} \begin{frame} @@ -50,20 +50,20 @@ is useful to debug relations between different layers, options are: \item [show-recipes] lists available recipes and the layers that provide them. \item [show-overlayed] lists overlayed recipes \item [show-appends] lists .bbappend files - and the recipe files to which they apply + and the recipe files to which they apply \item [show-cross-depends] lists dependency relationships - between recipes that cross layer boundaries + between recipes that cross layer boundaries \item [flatten] flattens the layer configuration - into a separate output directory. + into a separate output directory. \end{description} \end{frame} \begin{frame} \frametitle{definitions} \begin{itemize} - \item It is possible for a recipe with a lower version number PV in a layer +\item It is possible for a recipe with a lower version number PV in a layer that has a higher priority to take precedence. - \item Also, the layer priority does not currently affect the precedence +\item Also, the layer priority does not currently affect the precedence order of .conf or .bbclass files. Future versions of BitBake might address this. \end{itemize} \end{frame} diff --git a/distribution/yocto-advanced/yocto-local-conf.tex b/distribution/yocto-advanced/yocto-local-conf.tex index 5213a78..ce81abb 100644 --- a/distribution/yocto-advanced/yocto-local-conf.tex +++ b/distribution/yocto-advanced/yocto-local-conf.tex @@ -2,20 +2,20 @@ \frametitle{build configuration} local.conf is used to configure \begin{itemize} - \item the target machine - \item paths - \item the used distribution - \item package formats - \item arch of developer machine - \item additional image features - \item use additional classes - \item enable testing - \item devshell terminal - \item patch resolver - \item disk monitoring - \item sstate mirrors - \item qemu configuration - \item incompatible licenses, e.g. INCOMPATIBLE\_LICENSE = “GPLv3” +\item the target machine +\item paths +\item the used distribution +\item package formats +\item arch of developer machine +\item additional image features +\item use additional classes +\item enable testing +\item devshell terminal +\item patch resolver +\item disk monitoring +\item sstate mirrors +\item qemu configuration +\item incompatible licenses, e.g. INCOMPATIBLE\_LICENSE = “GPLv3” \end{itemize} \end{frame} diff --git a/distribution/yocto-advanced/yocto-resume.tex b/distribution/yocto-advanced/yocto-resume.tex index 1db1e87..3be1e43 100644 --- a/distribution/yocto-advanced/yocto-resume.tex +++ b/distribution/yocto-advanced/yocto-resume.tex @@ -1,10 +1,10 @@ \subsection{Resume} \begin{frame} - \begin{itemize} - \item Yocto is a huge collection of tools - \item Bitbake can be used to describe/build a distribution - \item The quality of the Images depend on the maintainance of the Layers - \item Only build your own distribution if you really need to! - \item Poky can be used as an example / reference. - \end{itemize} +\begin{itemize} +\item Yocto is a huge collection of tools +\item Bitbake can be used to describe/build a distribution +\item The quality of the Images depend on the maintainance of the Layers +\item Only build your own distribution if you really need to! +\item Poky can be used as an example / reference. +\end{itemize} \end{frame} diff --git a/distribution/yocto-advanced/yocto-ti-layer.tex b/distribution/yocto-advanced/yocto-ti-layer.tex index 38861de..4ad0c68 100644 --- a/distribution/yocto-advanced/yocto-ti-layer.tex +++ b/distribution/yocto-advanced/yocto-ti-layer.tex @@ -34,8 +34,8 @@ poky/build-ti % \frametitle{overview} builds are configured using two configuration files \begin{itemize} - \item /home/devel/poky/build-ti/conf/bblayers.conf - \item /home/devel/poky/build-ti/conf/local.conf + \item /home/devel/poky/build-ti/conf/bblayers.conf + \item /home/devel/poky/build-ti/conf/local.conf \end{itemize} \end{frame} diff --git a/distribution/yocto-advanced/yocto-wega-layer.tex b/distribution/yocto-advanced/yocto-wega-layer.tex index 3cf83d4..b7c50c7 100644 --- a/distribution/yocto-advanced/yocto-wega-layer.tex +++ b/distribution/yocto-advanced/yocto-wega-layer.tex @@ -1,23 +1,23 @@ \begin{frame}[fragile] \frametitle{create an own layer for your BSP} this layer typical includes - \begin{itemize} - \item machine configuration - \item kernel - \item bootloader - \item wic configuration - \item other hw specific recipes, or append files - \end{itemize} +\begin{itemize} +\item machine configuration +\item kernel +\item bootloader +\item wic configuration +\item other hw specific recipes, or append files +\end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{yocto-bsp create} - the yocto-bsp command can be used to get a template: + the yocto-bsp command can be used to get a template: \begin{verbatim} poky % yocto-bsp create wega arm poky % cd meta-wega \end{verbatim} - The following files need to be available inside the layer: + The following files need to be available inside the layer: \begin{verbatim} recipes-kernel/linux-phytec/linux-phytec_4.4.52.bb recipes-kernel/linux-phytec/files/wega/defconfig @@ -33,13 +33,13 @@ conf/layer.conf \begin{frame}[fragile] \frametitle{create an own layer for your sw distro} this layer typical includes - \begin{itemize} - \item distro configuration - \item own applications - \item append files to customize standard sw from other layers - \item own classes - \end{itemize} - e.g. to create meta-foo use: +\begin{itemize} +\item distro configuration +\item own applications +\item append files to customize standard sw from other layers +\item own classes +\end{itemize} + e.g. to create meta-foo use: \begin{verbatim} poky % yocto-layer create foo \end{verbatim} @@ -58,8 +58,8 @@ poky/build-wega % \frametitle{overview} builds are configured using two configuration files \begin{itemize} - \item /home/devel/poky/build-ti/conf/bblayers.conf - \item /home/devel/poky/build-ti/conf/local.conf +\item /home/devel/poky/build-ti/conf/bblayers.conf +\item /home/devel/poky/build-ti/conf/local.conf \end{itemize} \end{frame} diff --git a/distribution/yocto-basic/yocto-adt.tex b/distribution/yocto-basic/yocto-adt.tex index 250f6a9..37680d0 100644 --- a/distribution/yocto-basic/yocto-adt.tex +++ b/distribution/yocto-basic/yocto-adt.tex @@ -90,7 +90,7 @@ poky/build % bitbake meta-ide-support %general configuration %\begin{description} %\item[YOCTOADT\_REPO] http repo with rootfs images and ipkg packages. -% Needs to match the layout from 'http://adtrepo.yoctoproject.org' +% Needs to match the layout from 'http://adtrepo.yoctoproject.org' %\item[YOCTOADT\_TARGETS] machine target architectures to setup cross SDKs %\item[YOCTOADT\_QEMU] install qemu? \[Y/N\] %\item[YOCTOADT\_NFS\_UTIL] needed for eclipse \[Y/N\] @@ -105,7 +105,7 @@ poky/build % bitbake meta-ide-support %\item[YOCTOADT\_ROOTFS\_<arch>] rfs images that should be used, e.g. sato-sdk %\item[YOCTOADT\_TARGET\_SYSROOT\_<arch>] needs to match above variable %\item[YOCTOADT\_TARGET\_SYSROOT\_LOC\_<arch>] path where the sysroot will be -% stored +% stored %\end{description} %\end{frame} % @@ -150,39 +150,39 @@ select 'Kepler' as update site and select 'Linux Tools' and \begin{frame} \frametitle{configure Eclipse} \begin{itemize} - \item select 'Window, Preferences, Yocto Project ADT' - \item select 'Standalone pre-built toolchain' - \item set Toolchain Root Location '/home/devel/sdk' - \item set Sysroot Location '/home/devel/sdk/core-image-minimal' - \item use 'native' as 'Target Options' - \item 'Apply' the Settings and close the dialog with 'OK' +\item select 'Window, Preferences, Yocto Project ADT' +\item select 'Standalone pre-built toolchain' +\item set Toolchain Root Location '/home/devel/sdk' +\item set Sysroot Location '/home/devel/sdk/core-image-minimal' +\item use 'native' as 'Target Options' +\item 'Apply' the Settings and close the dialog with 'OK' \end{itemize} \end{frame} \begin{frame} \frametitle{Hello World example} \begin{itemize} - \item select 'File, New, Project\dots' - \item select 'C/C++, C Project' - \item select 'Yocto Project ADT Autotools Project, Hello World ANSI C Project' - \item enter a 'Project name' and select 'Next' - \item enter 'Basic settings' and select 'Finish' - \item if opened, close the 'Welcome' window - \item right click on the root project folder and select 'Reconfigure Project' - \item right click on the root project folder and select 'Build Project' +\item select 'File, New, Project\dots' +\item select 'C/C++, C Project' +\item select 'Yocto Project ADT Autotools Project, Hello World ANSI C Project' +\item enter a 'Project name' and select 'Next' +\item enter 'Basic settings' and select 'Finish' +\item if opened, close the 'Welcome' window +\item right click on the root project folder and select 'Reconfigure Project' +\item right click on the root project folder and select 'Build Project' \end{itemize} \end{frame} \begin{frame} \frametitle{remote execution and debugging} \begin{itemize} - \item switch to 'Remote System Explorer' perspective - \item create a new 'TCF' connection - \item switch to 'C/C++' perspective and select 'Run / Debug Configurations' - \item select the preconfigured 'C/C++ Application' and select the correct - 'Connection' - \item set 'Remote Absolute File Path' to sth. like '/usr/bin/<yourapp>' - \item select 'Apply', 'Debug' - Next time you can use this preconfigured debug - configuration +\item switch to 'Remote System Explorer' perspective +\item create a new 'TCF' connection +\item switch to 'C/C++' perspective and select 'Run / Debug Configurations' +\item select the preconfigured 'C/C++ Application' and select the correct + 'Connection' +\item set 'Remote Absolute File Path' to sth. like '/usr/bin/<yourapp>' +\item select 'Apply', 'Debug' - Next time you can use this preconfigured debug + configuration \end{itemize} \end{frame} diff --git a/distribution/yocto-basic/yocto-imgbuild1.tex b/distribution/yocto-basic/yocto-imgbuild1.tex index 7437ab7..90b1a68 100644 --- a/distribution/yocto-basic/yocto-imgbuild1.tex +++ b/distribution/yocto-basic/yocto-imgbuild1.tex @@ -3,11 +3,11 @@ \frametitle{basics} \begin{itemize} \item images are constructed using the packages built earlier and put into the - Package Feeds + Package Feeds \item decisions of what to install on the image is based on the minimum - defined set of required components in an image recipe + defined set of required components in an image recipe \item this minimum set is then expanded based on dependencies to produce a - package solution + package solution \item variety of formats (tar.bz2, ext2, ext3, jffs, \dots) are supported \end{itemize} \end{frame} 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} diff --git a/distribution/yocto-intro/pres_yocto-intro.tex b/distribution/yocto-intro/pres_yocto-intro.tex index dfc7b5e..8b18ead 100644 --- a/distribution/yocto-intro/pres_yocto-intro.tex +++ b/distribution/yocto-intro/pres_yocto-intro.tex @@ -7,26 +7,26 @@ \begin{frame} \frametitle{Agenda} \begin{itemize} - \item Intro - \begin{itemize} - \item What is Yocto? - \item History - \item Yocto compared with other methods - \end{itemize} - \item Basics - \begin{itemize} - \item Understand the workflow - \item Build predefined images - \item Using ADT - \end{itemize} - \item Advanced - \begin{itemize} - \item Using BSP layers - \item Create layers \& recipes for own applications - \item Define a distribution - \item Create a customized image class - \item Build images - \end{itemize} +\item Intro +\begin{itemize} +\item What is Yocto? +\item History +\item Yocto compared with other methods +\end{itemize} +\item Basics +\begin{itemize} +\item Understand the workflow +\item Build predefined images +\item Using ADT +\end{itemize} +\item Advanced +\begin{itemize} +\item Using BSP layers +\item Create layers \& recipes for own applications +\item Define a distribution +\item Create a customized image class +\item Build images +\end{itemize} \end{itemize} \end{frame} diff --git a/distribution/yocto-intro/yocto-intro.tex b/distribution/yocto-intro/yocto-intro.tex index 14cde2d..23cb185 100644 --- a/distribution/yocto-intro/yocto-intro.tex +++ b/distribution/yocto-intro/yocto-intro.tex @@ -1,27 +1,27 @@ \begin{frame} \frametitle{Yocto is \dots} \begin{itemize} - \item an Ecosystem (not a single open-source project) - \item a collection of embedded projects and tooling - \item a place for Industry to publish BSPs - \item NOT an embedded Linux distribution +\item an Ecosystem (not a single open-source project) +\item a collection of embedded projects and tooling +\item a place for Industry to publish BSPs +\item NOT an embedded Linux distribution \end{itemize} \dots used to build a Linux system from source in about an hour \footnote{quad i7, 16GB - RAM, fast disks, needed} + RAM, fast disks, needed} \end{frame} \begin{frame} \frametitle{the Yocto project family} \begin{description} - \item[Poky] reference build system / distribution - \begin{description} - \item[BitBake] build-engine - \item[Toaster] graphical user interface for BitBake - \item[meta] shared base layer of recipes and classes - \item[Example BSPs] for qemux86, mpc8315e-rdb, beaglebone - \end{description} - \item[ADT] development environment for user-space applications - \item[Eclipse IDE Plugin] integration of ADT into the Eclipse IDE +\item[Poky] reference build system / distribution +\begin{description} +\item[BitBake] build-engine +\item[Toaster] graphical user interface for BitBake +\item[meta] shared base layer of recipes and classes +\item[Example BSPs] for qemux86, mpc8315e-rdb, beaglebone +\end{description} +\item[ADT] development environment for user-space applications +\item[Eclipse IDE Plugin] integration of ADT into the Eclipse IDE \end{description} \end{frame} @@ -29,12 +29,12 @@ \frametitle{Poky is \dots} the Yocto key project; a reference distribution consisting of \begin{itemize} - \item a build system for Linux (openembedded + customized busybox, - psplash, alsa-state and tiny-init) - \item Yocto Linux kernel - \item build recipes for common open-source software from openembedded - \item able to generate toolchains for several architectures - \item documentation +\item a build system for Linux (openembedded + customized busybox, + psplash, alsa-state and tiny-init) +\item Yocto Linux kernel +\item build recipes for common open-source software from openembedded +\item able to generate toolchains for several architectures +\item documentation \end{itemize} release cycle: about 6 months \end{frame} @@ -93,19 +93,19 @@ freescale.com & 159 & 187 & 0,52\% & 0,43\% \\ \begin{frame} \frametitle{Yocto principles} \begin{itemize} - \item poky provides a collection of software build recipes - \item customize build recipe blueprints for your own needs - \item distinguishing between app and system developers - \item layer model for modular development, reuse, and customizations +\item poky provides a collection of software build recipes +\item customize build recipe blueprints for your own needs +\item distinguishing between app and system developers +\item layer model for modular development, reuse, and customizations \end{itemize} \end{frame} \begin{frame} \frametitle{cross-build vs. binary distribution} \begin{itemize} - \item men-power needed for building an own distribution? - \item security tracking? - \item optimizations needed on all binaries? - \item cross-compile wanted? +\item men-power needed for building an own distribution? +\item security tracking? +\item optimizations needed on all binaries? +\item cross-compile wanted? \end{itemize} \end{frame} diff --git a/distribution/yocto-x86/pres_yocto-x86.tex b/distribution/yocto-x86/pres_yocto-x86.tex index b48abee..ccef2e6 100644 --- a/distribution/yocto-x86/pres_yocto-x86.tex +++ b/distribution/yocto-x86/pres_yocto-x86.tex @@ -6,47 +6,47 @@ \begin{frame} \frametitle{Agenda} \begin{itemize} - \item Yocto Intro - \begin{itemize} - \item What is Yocto/Poky? - \item Yocto compared with other methods - \end{itemize} - - \item Yocto Feature Tour - \begin{itemize} - \item Understand the workflow - \item Using BSP layers - \item Extend and build predefined images - \item Using ADT - \end{itemize} - - \item Autotools - \begin{itemize} - \item Autoconf - \item Automake - \item Libtool - \end{itemize} - - \item Yocto Customization - \begin{itemize} - \item Application Integration - \item Kernel Integration - \end{itemize} +\item Yocto Intro +\begin{itemize} +\item What is Yocto/Poky? +\item Yocto compared with other methods +\end{itemize} + +\item Yocto Feature Tour +\begin{itemize} +\item Understand the workflow +\item Using BSP layers +\item Extend and build predefined images +\item Using ADT +\end{itemize} + +\item Autotools +\begin{itemize} +\item Autoconf +\item Automake +\item Libtool +\end{itemize} + +\item Yocto Customization +\begin{itemize} +\item Application Integration +\item Kernel Integration +\end{itemize} \end{itemize} \end{frame} \input{../yocto-intro/yocto-intro} \begin{frame} - \frametitle{Yocto Feature Tour} - \begin{itemize} - \item Workflow - \item Recipes - \item Images - \item ADT - \item Layers - \item extend Images - \end{itemize} +\frametitle{Yocto Feature Tour} +\begin{itemize} +\item Workflow +\item Recipes +\item Images +\item ADT +\item Layers +\item extend Images +\end{itemize} \end{frame} \input{../yocto-basic/yocto-workflow} @@ -60,37 +60,37 @@ \begin{frame} \frametitle{if we still have (a lot of) time} - \begin{itemize} - \item try to build and run the enlightenment window manager - \item the slides show just the start - \item you need to fix two build bugs - \item you need to add some runtime dependencies - \end{itemize} +\begin{itemize} +\item try to build and run the enlightenment window manager +\item the slides show just the start +\item you need to fix two build bugs +\item you need to add some runtime dependencies +\end{itemize} \end{frame} \input{yocto-add-efl} \begin{frame} - \frametitle{Autotools} - \begin{itemize} - \item Autoconf - \item Automake - \item standalone example - \item Libtool - \item library example - \end{itemize} +\frametitle{Autotools} +\begin{itemize} +\item Autoconf +\item Automake +\item standalone example +\item Libtool +\item library example +\end{itemize} \end{frame} \input{../autotools/autotools.tex} \subsection{adding own applications} \begin{frame} - \frametitle{Yocto Customization} - \begin{itemize} - \item Application Integration - \item Kernel Integration - \item Yocto Helpers - \end{itemize} +\frametitle{Yocto Customization} +\begin{itemize} +\item Application Integration +\item Kernel Integration +\item Yocto Helpers +\end{itemize} \end{frame} \input{../yocto-advanced/yocto-add-simple-application} |
