[bootlin/training-materials updates] master: Boot time agenda: switch to 3 days (666ba5ae)

Michael Opdenacker michael.opdenacker at bootlin.com
Fri Dec 13 14:16:38 CET 2019


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/666ba5aea06b2fbc5a456872811089b68f5bf81d

>---------------------------------------------------------------

commit 666ba5aea06b2fbc5a456872811089b68f5bf81d
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Fri Dec 13 14:16:38 2019 +0100

    Boot time agenda: switch to 3 days
    
    - According to experience from the last session
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


>---------------------------------------------------------------

666ba5aea06b2fbc5a456872811089b68f5bf81d
 agenda/boot-time-agenda.tex                      | 93 +++++++++++++++++++-----
 labs/boot-time-toolchain/boot-time-toolchain.tex |  2 +-
 2 files changed, 74 insertions(+), 21 deletions(-)

diff --git a/agenda/boot-time-agenda.tex b/agenda/boot-time-agenda.tex
index a1b36de4..83eb1f64 100644
--- a/agenda/boot-time-agenda.tex
+++ b/agenda/boot-time-agenda.tex
@@ -20,7 +20,7 @@
 \LARGE
 Boot Time Optimization Training\\
 \large
-2-day session
+3-day session
 \end{center}
 \vspace{1cm}
 
@@ -48,7 +48,7 @@ Boot Time Optimization Training\\
     \newline \url{https://bootlin.com/doc/training/boot-time}. \\
     \hline
 
-    {\bf Duration} & {\bf Two} days - 16 hours.
+    {\bf Duration} & {\bf Three} days - 24 hours.
     \newline 25\% of lectures, 75\% of practical labs. \\
     \hline
 
@@ -118,12 +118,18 @@ Boot Time Optimization Training\\
 {Lab - Preparing the system}
 {
  \begin{itemize}
- \item Compiling the bootloader, kernel and root filesystem
- \item Setting up the system, customizing the build system
+ \item Downloading bootloader, kernel and Buildroot source code
+ \item Board setup, setting up serial communication
+ \item Configure Buildroot and build the system
+ \item Configure and build the U-Boot bootloader. Prepare an SD card
+       and boot the bootloader from it.
+ \item Configure and build the kernel. Boot the system
  \end{itemize}
 }
 
-\feagendaonecolumn
+\section{Day 1 - Afternoon}
+
+\feagendatwocolumn
 {Lecture - Measuring time}
 {
   \begin{itemize}
@@ -132,18 +138,27 @@ Boot Time Optimization Training\\
   \item Specific solutions for each stage
   \end{itemize}
 }
-
-
-\section{Day 1 - Afternoon}
-
-\feagendatwocolumn
-{Lab - Measuring time}
+{Lab - Measuring time - Software solution}
 {
  \begin{itemize}
  \item Modify the system to measure time at various steps
- \item Measure total boot time by toggling a GPIO
+ \item Timing messages on the serial console
+ \item Timing the execution of the application
+ \item Timing the launching of the application
  \end{itemize}
 }
+
+\feagendatwocolumn
+{Lab - Measuring time - Hardware solution}
+{
+  \begin{itemize}
+  \item Measure total boot time by toggling a GPIO
+  \item Setting up an Arduino board
+  \item Preparing a test circuit with a 7-segment display
+  \item Modifying the DTS to configuring Bone Black pins as GPIOs
+  \item Making the application drive the custom GPIOs
+  \end{itemize}
+}
 {Lecture - Toolchain optimizations}
 {
   \begin{itemize}
@@ -154,6 +169,18 @@ Boot Time Optimization Training\\
   \end{itemize}
 }
 
+\feagendaonecolumn
+{Lab - Toolchain optimizations}
+{
+  \begin{itemize}
+  \item Measuring application execution time
+  \item Switching to a Thumb2 toolchain
+  \item Generate a Buildroot SDK to rebuild faster
+  \end{itemize}
+}
+
+\section{Day 2- Morning}
+
 \feagendatwocolumn
 {Lecture - Application optimization}
 {
@@ -167,17 +194,17 @@ Boot Time Optimization Training\\
  \begin{itemize}
  \item Finding unnecessary configuration options in applications
  \item Modifying configuration options through Buildroot
- \item Experiements with \code{strace} to trace program execution
+ \item Experiments with \code{strace} to trace program execution
  \end{itemize}
 }
 
-\section{Day 2- Morning}
 \feagendatwocolumn
 {Lecture - Optimizing system initialization}
 {
   \begin{itemize}
   \item Using Bootchart
   \item Optimizing init scripts
+  \item Possibility to start your application directly
   \end{itemize}
 }
 {Lab - Optimizing system initialization}
@@ -190,13 +217,17 @@ Boot Time Optimization Training\\
  \end{itemize}
 }
 
+\section{Day 2 - Afternoon}
+
 \feagendatwocolumn
 {Lecture - Filesystem optimizations}
 {
   \begin{itemize}
   \item Available filesystems, performance and boot time aspects
+  \item Making UBIFS faster
   \item Tweaks for reducing boot time
   \item Booting on an initramfs
+  \item Using static executables: licensing constraints
   \end{itemize}
 }
 {Lab - Filesystem optimizations}
@@ -208,15 +239,14 @@ Boot Time Optimization Training\\
  \end{itemize}
 }
 
-\section{Day 2 - Afternoon}
-
 \feagendatwocolumn
 {Lecture - Kernel optimizations}
 {
   \begin{itemize}
   \item Using {\em Initcall debug} to generate a boot graph
   \item Compression and size features
-  \item Tweaks to reduce boot time
+  \item Reducing or suppressing console output
+  \item Multiple tweaks to reduce boot time
   \end{itemize}
 }
 {Lab - Kernel optimizations}
@@ -228,21 +258,44 @@ Boot Time Optimization Training\\
  \end{itemize}
 }
 
+\section{Day 3 - Morning}
+
+\feagendaonecolumn
+{Lab - Kernel optimizations}
+{
+ \begin{itemize}
+ \item Continued from Day 2
+ \end{itemize}
+}
+
+\section{Day 3 - Afternoon}
+
 \feagendatwocolumn
 {Lecture - Bootloader optimizations}
 {
   \begin{itemize}
   \item Compiling U-Boot with less features
   \item U-Boot configuration settings that impact boot time
-  \item Optimzing kernel loading
-  \item Skipping the bootloader
+  \item Optimizing kernel loading
+  \item Skipping the bootloader - U-Boot's Falcon mode
   \end{itemize}
 }
 {Lab - Bootloader optimizations}
 {
  \begin{itemize}
  \item Using the above techniques to make the bootloader
- as quick as possible.
+    as quick as possible.
+ \item Switching to faster storage
+ \item Skip the bootloader with U-Boot's Falcon mode
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Wrap-up - Achieved results}
+{
+ \begin{itemize}
+ \item Sharing and comparing results achieved by the various groups
+ \item Questions and answers, experience sharing with the trainer
  \end{itemize}
 }
 
diff --git a/labs/boot-time-toolchain/boot-time-toolchain.tex b/labs/boot-time-toolchain/boot-time-toolchain.tex
index 3a14aaf1..67a3448c 100644
--- a/labs/boot-time-toolchain/boot-time-toolchain.tex
+++ b/labs/boot-time-toolchain/boot-time-toolchain.tex
@@ -150,7 +150,7 @@ and performance benefits?
 
 Don't hesitate to show your results to your instructor.
 
-\section{Generate a Buildroot SDK}
+\section{Generate a Buildroot SDK to rebuild faster}
 
 With Buildroot, it's frequent to need to run \code{make clean} and
 thus make a full rebuild, typically after configuration changes.




More information about the training-materials-updates mailing list