\input{configpres} \title{YOCTO - Advanced} \maketitle \begin{frame} \frametitle{define a distribution} bla \end{frame} DISTRO\_FEATURES \begin{frame} \frametitle{SDK generation} bla \end{frame} \begin{frame} \frametitle{SDK usage} bla \end{frame} \begin{frame} \frametitle{creating a layer} bla \end{frame} \begin{frame} \frametitle{adding a kernel} bla \end{frame} \begin{frame} \frametitle{adding own applications} already available? check http://layers.openembedded.org bla \end{frame} use PR Service \begin{frame} \frametitle{create bootable images for x86} t.b.d. The boot-directdisk class creates an image that can be placed directly onto a hard disk using dd and then booted. The image uses SYSLINUX. The end result is a 512 boot sector populated with a Master Boot Record (MBR) and partition table followed by an MSDOS FAT16 partition containing SYSLINUX and a Linux kernel completed by the ext2 and ext3 root filesystems. \end{frame} \begin{frame}[fragile] \frametitle {bootable image for embedded device} t.b.d. use IMAGE\_FEATURES % http://www.yoctoproject.org/docs/1.6/ref-manual/ref-manual.html#ref-features-image % http://www.yoctoproject.org/docs/1.6/dev-manual/dev-manual.html#usingpoky-extend-customimage-imagefeatures \end{frame} \begin{frame}[fragile] \frametitle{user and group configuration} use this in an image recipe: \begin{verbatim} inherit extrausers EXTRA_USERS_PARAMS = "\ useradd -p '' tester; \ groupadd developers; \ userdel nobody; \ groupdel -g video; \ groupmod -g 1020 developers; \ usermod -s /bin/sh tester; \ " \end{verbatim} or the useradd class, for an example see useradd-example.bb \end{frame} \begin{frame}[fragile] \frametitle{external sources} e.g. for a heavily customized kernel \begin{itemize} \item kernel source directory on the development machine \item inherit externalsrc class \item set EXTERNALSRC variable to point to your external source code \end{itemize} this local.conf extension: \begin{verbatim} INHERIT += "externalsrc" EXTERNALSRC_pn-myrecipe = "/some/path/to/your/source/tree" \end{verbatim} overrides the SOURCE\_URI of pn-myrecipe.bb \end{frame} \begin{frame}[fragile] \frametitle{blacklist packages} To blacklist a package, inherit the blacklist.bbclass globally and set PNBLACKLIST for each recipe you wish to blacklist. Specify the PN value as a variable flag (varflag) and provide a reason, which is reported, if the package is requested to be built as the value: \begin{verbatim} INHERIT += "blacklist" PNBLACKLIST[exoticware] = "Not supported by our organization." \end{verbatim} \end{frame} \begin{frame}[fragile] \frametitle{Providers} \begin{verbatim} --8<- -my-kernel\_3.16.bb -- PROVIDES += "virtual/kernel" --8<------------------------ \end{verbatim} PREFEREED\_PROVIDER\_virtual/kernel = "linux-yocto" \end{frame} \begin{frame} \frametitle{Preferences} \begin{itemize} \item PREFERRED\_VERSION is used to specify a particular version \item by default, files have a preference of "0" \item setting DEFAULT\_PREFERENCE to "-1" makes the recipe unlikely to be used unless it is explicitly referenced. \item setting DEFAULT\_PREFERENCE to "1" makes it likely the recipe is used \item PREFERRED\_VERSION overrides any DEFAULT\_PREFERENCE setting \end{itemize} \end{frame} \input{tailpres}