[FE training-materials-updates] Add boot time workshop agenda

Michael Opdenacker michael.opdenacker at free-electrons.com
Mon Dec 16 17:25:29 CET 2013


Repository : git://git.free-electrons.com/training-materials.git

On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=4ac27129bdc474e08a90a09eeff0b22cd764d0ac

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

commit 4ac27129bdc474e08a90a09eeff0b22cd764d0ac
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Mon Dec 16 17:24:48 2013 +0100

    Add boot time workshop agenda
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


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

4ac27129bdc474e08a90a09eeff0b22cd764d0ac
 agenda/boottime-agenda.tex |  189 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 189 insertions(+)

diff --git a/agenda/boottime-agenda.tex b/agenda/boottime-agenda.tex
new file mode 100644
index 0000000..f9cc5ca
--- /dev/null
+++ b/agenda/boottime-agenda.tex
@@ -0,0 +1,189 @@
+\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article}
+
+\usepackage{agenda}
+\usepackage{colortbl}
+\usepackage{xcolor}
+\usepackage{palatino}
+\usepackage{calc}
+
+\hypersetup{pdftitle={Boot time optimization},
+  pdfauthor={Free Electrons}}
+
+\begin{document}
+
+\thispagestyle{fancy}
+
+\setlength{\arrayrulewidth}{0.8pt}
+
+\begin{center}
+\LARGE
+Boot Time Optimization Training\\
+\large
+2 days session
+\end{center}
+\vspace{1cm}
+
+\small
+\newcolumntype{g}{>{\columncolor{fedarkblue}}m{4cm}}
+\newcolumntype{h}{>{\columncolor{felightblue}}X}
+
+\arrayrulecolor{lightgray} {
+  \setlist[1]{itemsep=-5pt}
+  \begin{tabularx}{\textwidth}{|g|h|}
+    {\bf Title} & Boot Time Optimization Training\\
+    \hline
+
+    {\bf Overview} &
+    Measuring boot time \par
+    Reducing user space boot time \par
+    Reducing kernel boot time \par
+    Bootloader optimizations \par
+    Advanced techniques and alternatives \par
+    Practical labs with ARM boards (SAMA5D3x evaluation kits from Atmel).\\
+    \hline
+
+    {\bf Duration} & {\bf One} day - 8 hours.
+    \newline 50\% of lectures, 50\% of practical labs. \\
+    \hline
+
+    {\bf Trainer} & One of the engineers listed on
+    \newline \url{http://free-electrons.com/training/trainers/}\\
+    \hline
+
+    {\bf Language} & Oral lectures: English or French.
+    \newline Materials: English.\\
+    \hline
+
+    {\bf Audience} & People developing embedded Linux systems.
+    \newline People supporting embedded Linux system developers. \\
+    \hline
+
+    {\bf Prerequisites} & {\bf Knowledge and practice of Unix or
+      GNU/Linux commands}
+    \newline People lacking experience on this topic should get
+    trained by themselves with our freely available on-line slides
+    (\url{http://free-electrons.com/docs/command-line/})
+    \newline {\bf Knowledge and practice of embedded Linux system
+    development} \\
+    \hline
+
+    {\bf Required equipment} &
+    {\bf For on-site sessions only.}
+    \newline Everything is supplied by Free Electrons in public sessions.
+    \begin{itemize}
+    \item Video projector
+    \item PC computers with at least 2 GB of RAM, and Ubuntu Linux
+    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
+    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
+    company proxy).
+    \item {\bf PC computers with valuable data must be backed up}
+    before being used in our sessions.  Some people have already made
+    mistakes during our sessions and damaged work data.
+    \end{itemize} \\
+    \hline
+
+    {\bf Materials} & Print and electronic copies of presentations and
+    labs.
+    \newline Electronic copy of lab files.\\
+    \hline
+
+\end{tabularx}}
+\normalsize
+
+
+\section{Day 1}
+
+\feagendatwocolumn
+{Lecture - Principles}
+{
+  \begin{itemize}
+  \item How to measure boot time
+  \item Main ideas
+  \end{itemize}
+}
+{Lab - Measuring boot time}
+{
+ \begin{itemize}
+ \item Flashing the board and accessing its serial line
+ \item Measure the initial boot time 
+ \end{itemize}
+}
+
+\feagendatwocolumn
+{Lecture - Userland optimizations}
+{
+  \begin{itemize}
+  \item Methodology
+  \item Using bootchart
+  \item Optimize init scripts
+  \item Reduce size (C library, compiler optimizations...)
+  \item Use an initramfs
+  \item Toolchains
+  \end{itemize}
+}
+{Lab - Reducing boot time in user space}
+{
+ \begin{itemize}
+ \item Regenerate the root filesystem with Buildroot
+ \item Use bootchart to measure boot time
+ \item Simplify user-space scripts
+ \end{itemize}
+}
+
+\section{Day 2}
+\feagendatwocolumn
+{Lecture - Kernel optimizations}
+{
+  \begin{itemize}
+  \item Reducing kernel size
+  \item Choosing the right compression method
+  \item Reducing kernel initialization time
+  \end{itemize}
+}
+{Lab - Reducing kernel boot time}
+{
+ \begin{itemize}
+ \item Recompile the kernel, switching to an initramfs
+ \item Use \code{initcall_debug} to find the biggest 
+       time consumers
+ \item Reduce the number of modules
+ \item Tune kernel command line parameters
+ \end{itemize}
+}
+
+\feagendatwocolumn
+{Lecture - Bootloader optimizations}
+{
+  \begin{itemize}
+  \item Reducing kernel image loading size
+  \item Removing bootloader features
+  \item Skipping the bootloader
+  \end{itemize}
+}
+{Lab - Reducing bootloader time}
+{
+ \begin{itemize}
+ \item Reduce boot time by using the Barebox bootloader
+ \item Optimize Barebox
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Lecture - Advanced techniques}
+{
+  \begin{itemize}
+  \item More kernel tweaks
+  \item More userspace techniques 
+  \item Using strace
+  \item Using oprofile
+  \item Alternatives: suspend to RAM, hibernating, checkpointing
+  \end{itemize}
+}
+
+\end{document}
+



More information about the training-materials-updates mailing list