[bootlin/training-materials updates] master: Embedded Linux online agenda update (73d8c3a4)
Michael Opdenacker
michael.opdenacker at bootlin.com
Thu Jun 25 07:07:03 CEST 2020
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/73d8c3a4a357f4faa13dafce31eaefeb54f3fe63
>---------------------------------------------------------------
commit 73d8c3a4a357f4faa13dafce31eaefeb54f3fe63
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Thu Jun 25 07:07:03 2020 +0200
Embedded Linux online agenda update
- To fit in 7 days and propose extra time only if needed
- Minor fix to lab instructions
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
73d8c3a4a357f4faa13dafce31eaefeb54f3fe63
agenda/embedded-linux-online-agenda.tex | 223 +++++++++++----------------
labs/sysdev-tinysystem/sysdev-tinysystem.tex | 2 +-
2 files changed, 89 insertions(+), 136 deletions(-)
diff --git a/agenda/embedded-linux-online-agenda.tex b/agenda/embedded-linux-online-agenda.tex
index cd030c2f..669025d5 100644
--- a/agenda/embedded-linux-online-agenda.tex
+++ b/agenda/embedded-linux-online-agenda.tex
@@ -53,7 +53,7 @@ On-line seminar
\newline \url{https://bootlin.com/doc/training/embedded-linux}. \\
\hline
- {\bf Duration} & {\bf Height } half days - 32 hours (4 hours per half day).
+ {\bf Duration} & {\bf Seven } half days - 28 hours (4 hours per half day).
\newline 75\% of lectures, 25\% of practical demos, plus optional
practical labs on QEMU between sessions. \\
\hline
@@ -220,6 +220,19 @@ On-line seminar
\end{itemize}
}
+\feagendaonecolumn
+{Lecture – Configuring and compiling a Linux kernel}
+{
+ \begin{itemize}
+ \item Kernel configuration.
+ \item Using ready-made configuration files for specific
+ architectures and boards.
+ \item Kernel compilation.
+ \item Generated files.
+ \item Using kernel modules
+ \end{itemize}
+}
+
\section{During spare time between sessions}
\feagendaonecolumn
@@ -230,6 +243,10 @@ On-line seminar
\item Configure U-Boot for your virtual board
\item Build U-Boot with your new toolchain
\item Start U-Boot directly from QEMU and test it.
+ \item Store the U-Boot environment in an emulated SD card
+ \item Setup networking between your PC and the QEMU emulated machine
+ \item Setup tftp for transferring files between the host and U-Boot
+ in QEMU
\end{itemize}
}
@@ -242,6 +259,17 @@ On-line seminar
\end{itemize}
}
+\feagendaonecolumn
+{Optional lab - Kernel cross-compiling and booting}
+{
+ {\em Using the QEMU emulated ARM Vexpress A9 board}
+ \begin{itemize}
+ \item Configuring the Linux kernel and cross-compiling it for the ARM board.
+ \item Boot Linux from U-Boot through tftp
+ \item Automate the boot sequence in U-Boot
+ \end{itemize}
+}
+
\section{Half day 3}
\feagendaonecolumn
@@ -267,15 +295,15 @@ On-line seminar
}
\feagendaonecolumn
-{Lecture – Configuring and compiling a Linux kernel}
+{Solution demo - Kernel cross-compiling and booting}
{
+ {\em Using the Microchip Xplained board}
\begin{itemize}
- \item Kernel configuration.
- \item Using ready-made configuration files for specific
- architectures and boards.
- \item Kernel compilation.
- \item Generated files.
- \item Using kernel modules
+ \item Configuring the Linux kernel and cross-compiling it for the ARM board.
+ \item Downloading your kernel on the board through U-boot's tftp client.
+ \item Booting your kernel from RAM.
+ \item Copying the kernel to flash and booting it from this location.
+ \item Storing boot parameters in flash and automating kernel booting from flash.
\end{itemize}
}
@@ -292,34 +320,6 @@ On-line seminar
\end{itemize}
}
-\section{During spare time between sessions}
-
-\feagendaonecolumn
-{Optional lab - Kernel cross-compiling and booting}
-{
- {\em Using the QEMU emulated ARM Vexpress A9 board}
- \begin{itemize}
- \item Configuring the Linux kernel and cross-compiling it for the ARM board.
- \item Booting your kernel directly from QEMU. Loading it from U-Boot
- will be done later.
- \end{itemize}
-}
-
-\section{Half day 4}
-
-\feagendaonecolumn
-{Solution demo - Kernel cross-compiling and booting}
-{
- {\em Using the Microchip Xplained board}
- \begin{itemize}
- \item Configuring the Linux kernel and cross-compiling it for the ARM board.
- \item Downloading your kernel on the board through U-boot's tftp client.
- \item Booting your kernel from RAM.
- \item Copying the kernel to flash and booting it from this location.
- \item Storing boot parameters in flash and automating kernel booting from flash.
- \end{itemize}
-}
-
\feagendaonecolumn
{Lecture - BusyBox}
{
@@ -342,50 +342,9 @@ On-line seminar
\end{itemize}
}
-\feagendaonecolumn
-{Lecture - Flash filesystems}
-{
- \begin{itemize}
- \item The Memory Technology Devices (MTD) filesystem.
- \item Filesystems for MTD storage: JFFS2, Yaffs2, UBIFS.
- \item Kernel configuration options
- \item MTD storage partitions.
- \item Focus on today's best solution, UBI and UBIFS:
- preparing, flashing and using UBI images.
- \end{itemize}
-}
-
+\newpage
\section{During spare time between sessions}
-\feagendaonecolumn
-{Optional lab – Preparing SD card image}
-{
- {\em Using the QEMU emulated ARM Vexpress A9 board}
- \begin{itemize}
- \item Prepare an SD card image for use by the QEMU emulated machine.
- We will first use it to store the U-Boot environment
- \item Create this image with the \code{dd} command
- \item Create partitions inside this image
- \item Set up a loop device and access the partitions inside
- \item Format the first partition with a FAT partition
- \item Test the ability for U-Boot to store its environment in
- this FAT partition
- \end{itemize}
-}
-
-\feagendaonecolumn
-{Optional lab – Boot Linux from U-Boot through tftp}
-{
- {\em Using the QEMU emulated ARM Vexpress A9 board}
- \begin{itemize}
- \item Setup networking between your PC and the QEMU emulated machine
- \item Setup tftp for transferring files between the host and U-Boot
- in QEMU
- \item Boot Linux from U-Boot through tftp
- \item Automate the boot sequence in U-Boot
- \end{itemize}
-}
-
\feagendaonecolumn
{Optional lab – Tiny root filesystem built from scratch with BusyBox}
{
@@ -406,8 +365,7 @@ On-line seminar
\end{itemize}
}
-\newpage
-\section{Half day 5}
+\section{Half day 4}
\feagendaonecolumn
{Solution demo – Tiny root filesystem built from scratch with BusyBox}
@@ -418,7 +376,35 @@ On-line seminar
\feagendaonecolumn
{Lecture - Flash filesystems}
{
- {\em Continued from the previous day}
+ \begin{itemize}
+ \item The Memory Technology Devices (MTD) filesystem.
+ \item Filesystems for MTD storage: JFFS2, Yaffs2, UBIFS.
+ \item Kernel configuration options
+ \item MTD storage partitions.
+ \item Focus on today's best solution, UBI and UBIFS:
+ preparing, flashing and using UBI images.
+ \end{itemize}
+}
+
+\section{During spare time between sessions}
+
+\feagendaonecolumn
+{Optional lab - Block filesystems}
+{
+ {\em Using the QEMU emulated ARM Vexpress A9 board}
+ \begin{itemize}
+ \item Booting your system with a mix of filesystems on MMC/SD storage: SquashFS for
+ applications, ext4 for configuration and user data, and
+ tmpfs for temporary system files.
+ \end{itemize}
+}
+
+\section{Half day 5}
+
+\feagendaonecolumn
+{Solution demo - Block filesystems}
+{
+ {\em Implementing the same functionality as on QEMU but with the Microchip Xplained board}
}
\feagendaonecolumn
@@ -461,17 +447,6 @@ On-line seminar
\section{During spare time between sessions}
-\feagendaonecolumn
-{Optional lab - Block filesystems}
-{
- {\em Using the QEMU emulated ARM Vexpress A9 board}
- \begin{itemize}
- \item Booting your system with a mix of filesystems on MMC/SD storage: SquashFS for
- applications, ext3 for configuration and user data, and
- tmpfs for temporary system files.
- \end{itemize}
-}
-
\feagendaonecolumn
{Optional lab – Cross-compiling applications and libraries}
{
@@ -485,12 +460,6 @@ On-line seminar
\section{Half day 6}
-\feagendaonecolumn
-{Solution demo - Block filesystems}
-{
- {\em Implementing the same functionality as on QEMU but with the Microchip Xplained board}
-}
-
\feagendaonecolumn
{Solution demo – Cross-compiling applications and libraries}
{
@@ -506,26 +475,6 @@ On-line seminar
\end{itemize}
}
-\section{During spare time between sessions}
-
-\feagendaonecolumn
-{Optional lab - System build with Buildroot}
-{
- {\em Using the QEMU emulated ARM Vexpress A9 board}
- \begin{itemize}
- \item Using Buildroot to rebuild the same system as in the previous lab.
- \item Seeing how easier it gets.
- \end{itemize}
-}
-
-\section{Half day 7}
-
-\feagendaonecolumn
-{Solution demo - System build with Buildroot}
-{
- {\em Implementing the same functionality as on QEMU but with the Microchip Xplained board}
-}
-
\feagendaonecolumn
{Lecture - Application development and debugging}
{
@@ -543,6 +492,16 @@ On-line seminar
\section{During spare time between sessions}
+\feagendaonecolumn
+{Optional lab - System build with Buildroot}
+{
+ {\em Using the QEMU emulated ARM Vexpress A9 board}
+ \begin{itemize}
+ \item Using Buildroot to rebuild the same system as in the previous lab.
+ \item Seeing how easier it gets.
+ \end{itemize}
+}
+
\feagendaonecolumn
{Optional lab – Application development and debugging}
{
@@ -554,7 +513,13 @@ On-line seminar
\end{itemize}
}
-\section{Half day 8}
+\section{Half day 7}
+
+\feagendaonecolumn
+{Solution demo - System build with Buildroot}
+{
+ {\em Implementing the same functionality as on QEMU but with the Microchip Xplained board}
+}
\feagendaonecolumn
{Solution demo - Application development and debugging}
@@ -590,21 +555,9 @@ On-line seminar
\end{itemize}
}
-\section{After the last session}
+\section{Possible extra time}
+
+{\em Extra time (up to 4 hours) may be proposed if the agenda didn't fit in 7 half days,
+ according to the time spend answering questions from participants.}
-\feagendaonecolumn
-{Optional lab - Linux latency tests}
-{
- {\em Note: the tests may not yield sensible results, because
- of the use of an emulator. However, practising with kernel
- configuration patches and options for real-time, and compiling
- applications can be a useful experience}
- \begin{itemize}
- \item Performed on the QEMU ARM Vexpress A9 board
- \item Latency tests on standard Linux, with preemption options.
- \item Latency tests using the \code{PREEMPT_RT} kernel patchset.
- \item Setting up Xenomai.
- \item Latency tests with Xenomai.
- \end{itemize}
-}
\end{document}
diff --git a/labs/sysdev-tinysystem/sysdev-tinysystem.tex b/labs/sysdev-tinysystem/sysdev-tinysystem.tex
index fd99e191..f8477818 100644
--- a/labs/sysdev-tinysystem/sysdev-tinysystem.tex
+++ b/labs/sysdev-tinysystem/sysdev-tinysystem.tex
@@ -6,7 +6,7 @@ After this lab, you will:
directory on your workstation, shared through the network by NFS.
\item be able to create and configure a minimalistic root filesystem
from scratch (ex nihilo, out of nothing, entirely hand made...) for
- the \ifdefstring{\labboard}{discovery}{Discovery kit}{Xplained board}.
+ your target board.
\item understand how small and simple an embedded Linux system can be.
\item be able to install BusyBox on this filesystem.
\item be able to create a simple startup script based on /sbin/init.
More information about the training-materials-updates
mailing list