[FE training-materials-updates] Make a bunch of improvements to the Buildroot training agenda
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu Dec 4 17:20:07 CET 2014
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=86bb53242b015e7bc19e3610e45698041898b1d4
>---------------------------------------------------------------
commit 86bb53242b015e7bc19e3610e45698041898b1d4
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date: Thu Dec 4 17:19:17 2014 +0100
Make a bunch of improvements to the Buildroot training agenda
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>---------------------------------------------------------------
86bb53242b015e7bc19e3610e45698041898b1d4
agenda/buildroot-agenda.tex | 46 ++++++++++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 19 deletions(-)
diff --git a/agenda/buildroot-agenda.tex b/agenda/buildroot-agenda.tex
index 42fd198..ca9ae66 100644
--- a/agenda/buildroot-agenda.tex
+++ b/agenda/buildroot-agenda.tex
@@ -42,7 +42,8 @@ Buildroot training\\
Integrating new packages in Buildroot \par
Advanced package recipe tricks \par
Board and project support \par
- Application development with Buildroot \\
+ Application development with Buildroot \par
+ Understanding the Buildroot internals \\
\hline
{\bf Duration} & {\bf Three} days - 24 hours (8 hours per day).
@@ -50,18 +51,16 @@ Buildroot training\\
\hline
{\bf Trainer} & {\bf Thomas Petazzoni}. Thomas is a major
- Buildroot developer 2009, with more than 1600 patches integrated
- and an active
- participation to the development process.\\
+ Buildroot developer 2009, with more than 2400 patches integrated
+ and an active participation to the development process.\\
\hline
{\bf Language} & Oral lectures: English, French.
\newline Materials: English.\\
\hline
- {\bf Audience} & Companies interested in using Buildroot to build
- their
- embedded Linux system.\\
+ {\bf Audience} & Companies already using or interested in using
+ Buildroot to build their embedded Linux system.\\
\hline
{\bf Prerequisites} & {\bf Knowledge of embedded Linux} as covered
@@ -85,7 +84,7 @@ Buildroot training\\
installed in a {\bf free partition of at least 20 GB. Using Linux
in a virtual machine is not supported}, because of issues
connecting to real hardware.
- \item We need Ubuntu Desktop 12.04 (32 or 64 bit, Xubuntu and
+ \item We need Ubuntu Desktop 14.04 (32 or 64 bit, Xubuntu and
Kubuntu variants are fine). We don't support other
distributions, because we can't test all possible package versions.
\item {\bf Connection to the Internet} (direct or through the
@@ -102,6 +101,7 @@ Buildroot training\\
\hline
\end{tabularx}}
+\normalsize
\feagendatwocolumn
{Hardware}
@@ -136,6 +136,7 @@ Buildroot training\\
\begin{itemize}
\item The general architecture of an embedded Linux system
\item Build systems vs. binary distributions
+ \item Role of a build system
\item Comparaison of existing build systems
\end{itemize}
}
@@ -152,7 +153,7 @@ Buildroot training\\
{
\begin{itemize}
\item Getting and setting up Buildroot
- \item Configuring a basic system with Buildroot
+ \item Configuring and building a basic system with Buildroot
\item Running the system on a hardware platform and in the Qemu
emulator, with the root filesystem over NFS or the root filesystem
flashed
@@ -173,11 +174,12 @@ Buildroot training\\
{
\begin{itemize}
\item The different choices for using toolchains in Buildroot
+ \item Overview of the toolchain options
\item Using existing binary toolchains, such as Sourcery CodeBench
toolchains, understanding {\em multilib} capabilities and
integration of toolchains in Buildroot
- \item Generating custom toolchains with Buildroot and {\em Crosstool-ng}
- \item Details on using and configuring {\em Crosstool-ng}
+ \item Generating custom toolchains with {\em Crosstool-NG}, and
+ re-use them as external toolchains
\end{itemize}
}
{Lab - Toolchains in Buildroot}
@@ -198,11 +200,12 @@ Buildroot training\\
{
\begin{itemize}
\item Understand how Buildroot builds the root filesystem: {\em
- skeleton} and installation of packages
+ skeleton}, installation of packages, overlays, {\em post-build}
+ and {\em post-image} scripts.
\item Customization of the root filesystem contents
- \item Understand the configuration of the {\em console}
- \item Study the different options for managing the {\tt /dev}
- directory: static or dynamic, with mdev or udev
+ \item System configuration: {\em console} selection, various {\tt
+ /dev} management methods, the different {\tt init}
+ implementations, etc.
\item Understand how Buildroot generates filesystem images
\end{itemize}
}
@@ -210,8 +213,9 @@ Buildroot training\\
{
\begin{itemize}
\item Generate Buildroot systems with different {\tt /dev}
- management options and test them on an hardware platform.
- \item Customize the root filesystem contents
+ management options and test them on a hardware platform.
+ \item Customize the root filesystem contents using a {\em rootfs
+ overlay} and {\em post-build} scripts.
\end{itemize}
}
\\
@@ -221,9 +225,11 @@ Buildroot training\\
\begin{itemize}
\item How to integrate new packages in the Buildroot configuration
system
- \item Understand the different package infrastructures (for {\em
+ \item Understand the different package infrastructures: for {\em
generic} packages, {\em autotools} packages, {\em CMake}
- packages and {\em Python} packages)
+ packages and {\em Python} packages.
+ \item Writing a package \code{Config.in} file: how to express
+ dependencies on other packages, on toolchain options, etc.
\item Details on writing a package recipe: describing the package
source code location, download method, configuration, build and
installation steps, handling dependencies, etc.
@@ -273,6 +279,8 @@ Buildroot training\\
\item Handling root filesystem customization (post-build script,
skeleton, etc.)
\item How to version control project-specific changes
+ \item Usage of the \code{BR2_EXTERNAL} feature to store those
+ customizations
\end{itemize}
}
{Lab - Board and project support}
More information about the training-materials-updates
mailing list