[bootlin/training-materials updates] master: yocto: agenda: update the English agendas (online and onsite) (de548df2)
Luca Ceresoli
luca.ceresoli at bootlin.com
Wed May 3 11:40:10 CEST 2023
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/de548df2bd5c4b5fbbfe29efb1a84fd2f18a07fd
>---------------------------------------------------------------
commit de548df2bd5c4b5fbbfe29efb1a84fd2f18a07fd
Author: Luca Ceresoli <luca.ceresoli at bootlin.com>
Date: Wed May 3 11:19:35 2023 +0200
yocto: agenda: update the English agendas (online and onsite)
Signed-off-by: Luca Ceresoli <luca.ceresoli at bootlin.com>
>---------------------------------------------------------------
de548df2bd5c4b5fbbfe29efb1a84fd2f18a07fd
agenda/yocto-agenda.tex | 146 +++++++++++++++++++++++++++-----------
agenda/yocto-online-agenda.tex | 155 +++++++++++++++++++++++++++++------------
2 files changed, 218 insertions(+), 83 deletions(-)
diff --git a/agenda/yocto-agenda.tex b/agenda/yocto-agenda.tex
index 77b8ca4c..baaa43a2 100644
--- a/agenda/yocto-agenda.tex
+++ b/agenda/yocto-agenda.tex
@@ -75,18 +75,29 @@
\end{itemize}
}
+\feagendaonecolumn
+{Lecture - Yocto Project and Poky reference system overview}
+{
+ \begin{itemize}
+ \item Introduction to the Yocto / OpenEmbedded build system and its lexicon
+ \item Overview of the Poky reference system
+ \end{itemize}
+}
+
\feagendatwocolumn
-{Lecture - Overview of the Yocto Project and the Poky reference system}
+{Lecture - Using Yocto Project - basics}
{
\begin{itemize}
- \item Organization of the project source tree
+ \item Setting up the build directory and environment
+ \item Configuring the build system
\item Building a root filesystem image using the Yocto Project
\end{itemize}
}
-{Lab - First Yocto Project build}
+{Lab 1 - First Yocto Project build}
{
\begin{itemize}
\item Downloading the Poky reference build system
+ \item Configuring the build system
\item Building a system image
\end{itemize}
}
@@ -98,10 +109,9 @@
{
\begin{itemize}
\item Organization of the build output
- \item Flashing and installing the system image
\end{itemize}
}
-{Lab - Flashing and booting}
+{Lab 1 - Flashing and booting}
{
\begin{itemize}
\item Flashing and booting the image on the board
@@ -112,15 +122,18 @@
{Lecture - Using Yocto Project - advanced usage}
{
\begin{itemize}
- \item Configuring the build system
- \item Customizing the package selection
+ \item Variable assignment, operators and overrides
+ \item Package variants and package selection
+ \item bitbake command line options
\end{itemize}
}
-{Lab - Using NFS and configuring the build}
+{Lab 2 - Using NFS and configuring the build}
{
\begin{itemize}
\item Configuring the board to boot over NFS
+ \item Add a package to the root filesystem
\item Learn how to use the \code{PREFERRED_PROVIDER} mechanism
+ \item Get familiar with the bitbake command line options
\end{itemize}
}
\\
@@ -130,16 +143,19 @@
{Lecture - Writing recipes - basics}
{
\begin{itemize}
- \item Writing a minimal recipe
- \item Adding dependencies
- \item Development workflow with {\em bitbake}
+ \item Recipes: overview
+ \item Recipe file organization
+ \item Applying patches
+ \item Recipe examples
\end{itemize}
}
-{Lab - Adding an application to the build}
+{Lab 3 - Adding an application to the build}
{
\begin{itemize}
\item Writing a recipe for {\em nInvaders}
- \item Adding {\em nInvaders} to the final image
+ \item Troubleshooting the recipe
+ \item Troubleshooting cross-compilation issues
+ \item Adding {\em ninvaders} to the final image
\end{itemize}
}
@@ -148,11 +164,11 @@
{
\begin{itemize}
\item Extending and overriding recipes
- \item Adding steps to the build process
+ \item Virtual packages
\item Learn about classes
- \item Analysis of examples
- \item Logging
- \item Debugging dependencies
+ \item BitBake file inclusions
+ \item Debugging recipes
+ \item Configuring bitbake network usage
\end{itemize}
}
@@ -167,67 +183,108 @@
\item Creating a layer
\end{itemize}
}
-{Lab - Writing a layer}
+{Lab 4 - Writing a layer}
{
\begin{itemize}
\item Learn how to write a layer
\item Add the layer to the build
- \item Move {\em nInvaders} to the new layer
+ \item Move {\em ninvaders} to the new layer
\end{itemize}
}
\section{Day 3 - Morning}
+\feagendaonecolumn
+{Lab 5 - Extend a recipe}
+{
+ \begin{itemize}
+ \item Extend the kernel recipe to add patches
+ \item Configure the kernel to compile the nunchuk driver
+ \item Edit the ninvaders recipe to add patches
+ \item Play {\em nInvaders}
+ \end{itemize}
+}
+
\feagendatwocolumn
{Lecture - Writing a BSP}
{
\begin{itemize}
- \item Extending an existing BSP
+ \item Introduction to BSP layers
\item Adding a new machine
- \item Bootloaders
- \item Linux and the linux-yocto recipe
- \item Adding a custom image type
+ \item Bootloader configuration
+ \item Linux: the kernel bbclass and the linux-yocto recipe
\end{itemize}
}
-{Lab - Implementing the kernel changes}
+{Lab 6 - Create a custom machine configuration}
{
\begin{itemize}
- \item Extend the kernel recipe to add the nunchuk driver
- \item Configure the kernel to compile the nunchuk driver
- \item Play {\em nInvaders}
+ \item Create a new machine configuration
+ \item Build an image for the new machine
\end{itemize}
}
-\section{Day 3 - Afternoon}
+\feagendaonecolumn
+{Lecture - Distro layers}
+{
+ \begin{itemize}
+ \item Distro configuration
+ \item Distro layers
+ \item Release management
+ \end{itemize}
+}
\feagendatwocolumn
-{Lecture - Creating a custom image}
+{Lecture - Images}
{
\begin{itemize}
\item Writing an image recipe
- \item Adding users/groups
- \item Adding custom configuration
+ \item Image types
\item Writing and using package groups recipes
\end{itemize}
}
-{Lab - Creating a custom image}
+{Lab 7 - Create a custom image}
+{
+ \begin{itemize}
+ \item Add a basic image recipe
+ \item Select the images capabilities and packages
+ \item Add a custom package group
+ \item Add an image variant for debugging
+ \end{itemize}
+}
+
+\section{Day 3 - Afternoon}
+
+\feagendatwocolumn
+{Lecture - Writing recipes - going further}
+{
+ \begin{itemize}
+ \item The per-recipe sysroot
+ \item Using Python code in metadata
+ \item Variable flags
+ \item Packages features and PACKAGECONFIG
+ \item Conditional features
+ \item Package splitting
+ \item Dependencies in detail
+ \item Root filesystem creation
+ \end{itemize}
+}
+{Lecture - Licensing}
{
\begin{itemize}
- \item Writing a custom image recipe
- \item Adding {\em nInvaders} to the custom image
+ \item Managing open source licenses
\end{itemize}
}
\feagendatwocolumn
-{Lecture - Creating and using an SDK}
+{Lecture - Application development workflows}
{
\begin{itemize}
- \item Understanding the purpose of an SDK for the application
- developer
- \item Building an SDK for the custom image
+ \item The Yocto Project SDK
+ \item Devtool
+ \item Quilt
\end{itemize}
}
-{Lab - Experimenting with the SDK}
+{Lab 8 - Develop your application in the Poky SDK}
{
\begin{itemize}
\item Building an SDK
@@ -235,5 +292,16 @@
\end{itemize}
}
+\feagendaonecolumn
+{Lecture - Runtime Package Management}
+{
+ \begin{itemize}
+ \item Introduction to runtiome package management
+ \item Build configuration
+ \item Package server configuration
+ \item Target configuration
+ \end{itemize}
+}
+
\end{document}
diff --git a/agenda/yocto-online-agenda.tex b/agenda/yocto-online-agenda.tex
index 046e6ea4..8a0d5155 100644
--- a/agenda/yocto-online-agenda.tex
+++ b/agenda/yocto-online-agenda.tex
@@ -74,56 +74,67 @@
\item Usefulness of build systems
\end{itemize}
}
-\\
+
+\feagendaonecolumn
+{Lecture - Yocto Project and Poky reference system overview}
+{
+ \begin{itemize}
+ \item Introduction to the Yocto / OpenEmbedded build system and its lexicon
+ \item Overview of the Poky reference system
+ \end{itemize}
+}
+
\feagendatwocolumn
-{Lecture - Overview of the Yocto Project and the Poky reference system}
+{Lecture - Using Yocto Project - basics}
{
\begin{itemize}
- \item Organization of the project source tree
+ \item Setting up the build directory and environment
+ \item Configuring the build system
\item Building a root filesystem image using the Yocto Project
\end{itemize}
}
-{Demo - First Yocto Project build}
+{Demo 1 - First Yocto Project build}
{
\begin{itemize}
\item Downloading the Poky reference build system
+ \item Configuring the build system
\item Building a system image
\end{itemize}
}
-\newpage
-\feagendaonecolumn
+\feagendatwocolumn
{Lecture - Using Yocto Project - basics}
{
\begin{itemize}
\item Organization of the build output
- \item Flashing and installing the system image
\end{itemize}
}
-
-\feagendaonecolumn
-{Demo - Flashing and booting}
+{Demo 1 - Flashing and booting}
{
\begin{itemize}
\item Flashing and booting the image on the board
\end{itemize}
}
+\newpage
\section{Half day 2}
\feagendatwocolumn
{Lecture - Using Yocto Project - advanced usage}
{
\begin{itemize}
- \item Configuring the build system
- \item Customizing the package selection
+ \item Variable assignment, operators and overrides
+ \item Package variants and package selection
+ \item bitbake command line options
\end{itemize}
}
-{Demo - Using NFS and configuring the build}
+{Demo 2 - Using NFS and configuring the build}
{
\begin{itemize}
\item Configuring the board to boot over NFS
+ \item Add a package to the root filesystem
\item Learn how to use the \code{PREFERRED_PROVIDER} mechanism
+ \item Get familiar with the bitbake command line options
\end{itemize}
}
\\
@@ -132,16 +143,19 @@
{Lecture - Writing recipes - basics}
{
\begin{itemize}
- \item Writing a minimal recipe
- \item Adding dependencies
- \item Development workflow with {\em bitbake}
+ \item Recipes: overview
+ \item Recipe file organization
+ \item Applying patches
+ \item Recipe examples
\end{itemize}
}
-{Demo - Adding an application to the build}
+{Demo 3 - Adding an application to the build}
{
\begin{itemize}
\item Writing a recipe for {\em nInvaders}
- \item Adding {\em nInvaders} to the final image
+ \item Troubleshooting the recipe
+ \item Troubleshooting cross-compilation issues
+ \item Adding {\em ninvaders} to the final image
\end{itemize}
}
@@ -150,11 +164,11 @@
{
\begin{itemize}
\item Extending and overriding recipes
- \item Adding steps to the build process
+ \item Virtual packages
\item Learn about classes
- \item Analysis of examples
- \item Logging
- \item Debugging dependencies
+ \item BitBake file inclusions
+ \item Debugging recipes
+ \item Configuring bitbake network usage
\end{itemize}
}
@@ -169,12 +183,23 @@
\item Creating a layer
\end{itemize}
}
-{Demo - Writing a layer}
+{Demo 4 - Writing a layer}
{
\begin{itemize}
\item Learn how to write a layer
\item Add the layer to the build
- \item Move {\em nInvaders} to the new layer
+ \item Move {\em ninvaders} to the new layer
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Demo 5 - Extend a recipe}
+{
+ \begin{itemize}
+ \item Extend the kernel recipe to add patches
+ \item Configure the kernel to compile the nunchuk driver
+ \item Edit the ninvaders recipe to add patches
+ \item Play {\em nInvaders}
\end{itemize}
}
@@ -182,51 +207,82 @@
{Lecture - Writing a BSP}
{
\begin{itemize}
- \item Extending an existing BSP
+ \item Introduction to BSP layers
\item Adding a new machine
- \item Bootloaders
- \item Linux and the linux-yocto recipe
- \item Adding a custom image type
+ \item Bootloader configuration
+ \item Linux: the kernel bbclass and the linux-yocto recipe
\end{itemize}
}
-{Demo - Implementing the kernel changes}
+{Demo 6 - Create a custom machine configuration}
{
\begin{itemize}
- \item Extend the kernel recipe to add the nunchuk driver
- \item Configure the kernel to compile the nunchuk driver
- \item Play {\em nInvaders}
+ \item Create a new machine configuration
+ \item Build an image for the new machine
\end{itemize}
}
-\section{Half day 4}
+\feagendaonecolumn
+{Lecture - Distro layers}
+{
+ \begin{itemize}
+ \item Distro configuration
+ \item Distro layers
+ \item Release management
+ \end{itemize}
+}
\feagendatwocolumn
-{Lecture - Creating a custom image}
+{Lecture - Images}
{
\begin{itemize}
\item Writing an image recipe
- \item Adding users/groups
- \item Adding custom configuration
+ \item Image types
\item Writing and using package groups recipes
\end{itemize}
}
-{Demo - Creating a custom image}
+{Demo 7 - Create a custom image}
+{
+ \begin{itemize}
+ \item Add a basic image recipe
+ \item Select the images capabilities and packages
+ \item Add a custom package group
+ \item Add an image variant for debugging
+ \end{itemize}
+}
+
+\section{Half day 4}
+
+\feagendatwocolumn
+{Lecture - Writing recipes - going further}
+{
+ \begin{itemize}
+ \item The per-recipe sysroot
+ \item Using Python code in metadata
+ \item Variable flags
+ \item Packages features and PACKAGECONFIG
+ \item Conditional features
+ \item Package splitting
+ \item Dependencies in detail
+ \item Root filesystem creation
+ \end{itemize}
+}
+{Lecture - Licensing}
{
\begin{itemize}
- \item Writing a custom image recipe
- \item Adding {\em nInvaders} to the custom image
+ \item Managing open source licenses
\end{itemize}
}
+
\feagendatwocolumn
-{Lecture - Creating and using an SDK}
+{Lecture - Application development workflows}
{
\begin{itemize}
- \item Understanding the purpose of an SDK for the application
- developer
- \item Building an SDK for the custom image
+ \item The Yocto Project SDK
+ \item Devtool
+ \item Quilt
\end{itemize}
}
-{Demo - Experimenting with the SDK}
+{Demo 8 - Develop your application in the Poky SDK}
{
\begin{itemize}
\item Building an SDK
@@ -234,6 +290,17 @@
\end{itemize}
}
+\feagendaonecolumn
+{Lecture - Runtime Package Management}
+{
+ \begin{itemize}
+ \item Introduction to runtiome package management
+ \item Build configuration
+ \item Package server configuration
+ \item Target configuration
+ \end{itemize}
+}
+
\feagendaonecolumn
{Questions and Answers}
{
More information about the training-materials-updates
mailing list