[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