[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