Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yocto slides improvements #266

Merged
merged 6 commits into from
Feb 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions slides/yocto-image/yocto-image.tex
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,10 @@ \subsection{Image types}
IMAGE_FSTYPES = "wic.bmap wic"
\end{minted}
\end{block}
\item Note: \code{bmaptool} is an alternative to \code{dd},
skipping uninitialized contents in partitions.
\item Note:
\href{https://docs.yoctoproject.org/dev-manual/bmaptool.html}{bmaptool} is
an alternative to \code{dd}, skipping uninitialized contents in
partitions.
\end{itemize}
\end{frame}

Expand Down
52 changes: 31 additions & 21 deletions slides/yocto-recipe-advanced/yocto-recipe-advanced.tex
Original file line number Diff line number Diff line change
Expand Up @@ -119,36 +119,45 @@ \subsection{Classes}
\item Any metadata and task which can be put in a recipe can be
used in a class.
\item Classes extension is \code{.bbclass}
\item Classes are located in the \code{classes-recipe},
\item Classes must be located in the \code{classes-recipe},
\code{classes-global}, or \code{classes} folders of a layer.
\item Recipes can use this common code by inheriting a class:
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Using classes}
\begin{itemize}
\item Recipes can use the classes located in the \code{classes-recipe}
folder:
\begin{itemize}
\item \code{inherit <class>}
\item \code{inherit class1 class2 ...}
\end{itemize}
\item A recipe can inherit from multiple classes.
\item Classes in \code{classes-global} can be inherited from configuration
files with \yoctovar{INHERIT}:
\begin{itemize}
\item \code{INHERIT:append = " class1 class2"}
\end{itemize}
\item Classes in \code{INHERIT} will be used by every built recipe.
\item Classes in the \code{classes} folder can be used with \code{inherit} or
\yoctovar{INHERIT}, as their usage is not clearly defined.
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Common classes}
\begin{itemize}
\item Most classes are split into scope-specific subdirectories:
\code{meta/classes-recipe/}, \code{meta/classes-global/}
\item Classes whose usage context is not clearly defined can be found in
\code{meta/classes/}
\begin{itemize}
\item \code{classes-global/base.bbclass}
\item \code{classes-recipe/kernel.bbclass}
\item \code{classes-recipe/autotools.bbclass}
\item \code{classes-recipe/autotools-brokensep.bbclass}
\item \code{classes-recipe/cmake.bbclass}
\item \code{classes-recipe/meson.bbclass}
\item \code{classes-recipe/native.bbclass}
\item \code{classes-recipe/systemd.bbclass}
\item \code{classes-recipe/update-rc.d.bbclass}
\item \code{classes/useradd.bbclass}
\item \dots
\end{itemize}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#base}{classes-global/base.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#kernel}{classes-recipe/kernel.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#autotools}{classes-recipe/autotools.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#autotools}{classes-recipe/autotools-brokensep.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#cmake}{classes-recipe/cmake.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#meson}{classes-recipe/meson.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#native}{classes-recipe/native.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#systemd}{classes-recipe/systemd.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#update-rc-d}{classes-recipe/update-rc.d.bbclass}
\item \href{https://docs.yoctoproject.org/ref-manual/classes.html\#useradd}{classes/useradd.bbclass}
\item \dots
\end{itemize}
\end{frame}

Expand Down Expand Up @@ -330,7 +339,8 @@ \subsection{BitBake file inclusions}
\item To inherit the functionalities of the \code{kernel} class,
use: \code{inherit kernel}
\item \code{inherit} looks for files ending in \code{.bbclass}, in
\code{classes} directories found in \yoctovar{BBPATH}.
\code{classes}, \code{classes-recipe} or \code{classes-global} directories
found in \yoctovar{BBPATH}.
\item It is possible to include a class conditionally using a
variable: \code{inherit ${FOO}}
\item Inheriting in configuration files is based on the \yoctovar{INHERIT}
Expand Down
4 changes: 2 additions & 2 deletions slides/yocto-recipe-extra/yocto-recipe-extra.tex
Original file line number Diff line number Diff line change
Expand Up @@ -276,8 +276,8 @@ \subsection{Packages features}
\item In a \code{.bbappend} of the recipe, just append to \yoctovar{PACKAGECONFIG}
\begin{block}{}
\begin{minted}{sh}
PACKAGECONFIG:append = " <feature>"
PACKAGECONFIG:append = " tui"
PACKAGECONFIG += "<feature>"
PACKAGECONFIG += "tui"
\end{minted}
\end{block}

Expand Down
Loading