From 63af15ef9846113935199d4a0578a51c96849514 Mon Sep 17 00:00:00 2001
From: Christopher Spinrath <admin@spinrath.net>
Date: Thu, 24 Sep 2015 23:09:12 +0200
Subject: [PATCH] Bildhau Folien: Bootvorgang

---
 installparty/folien-buildhauen/slides.tex | 122 +++++++++++++++++++++-
 1 file changed, 121 insertions(+), 1 deletion(-)

diff --git a/installparty/folien-buildhauen/slides.tex b/installparty/folien-buildhauen/slides.tex
index ba79bcd..b163704 100644
--- a/installparty/folien-buildhauen/slides.tex
+++ b/installparty/folien-buildhauen/slides.tex
@@ -17,6 +17,7 @@
 \usepackage{csquotes}
 \usepackage{enumerate}
 \usepackage{quoting}
+\usepackage[normalem]{ulem}
 
 \usetheme{OSAK}
 %\OSAKthemenologo
@@ -24,7 +25,7 @@
 \date{\today}
 \title{Über das Buildhauen}
 \subtitle{oder\\Das casper'le Theater}
-\author{}
+\author{Christopher \& Daniel}
 \institute[OSAK]{Open Source Arbeitskreis\\der Fachschaft Mathematik/Physik/Informatik an der RWTH Aachen \\ und der Aachener Linux User Group}
 
 \begin{document}
@@ -83,8 +84,127 @@ text width=8em, text centered, rounded corners, minimum height=4em]
 	\end{tikzpicture}
 \end{frame}
 
+\begin{frame}[t]{Bootvorgang -- Bootloader}
+
+\begin{columns}
+	\begin{column}{.65\linewidth}
+		\begin{itemize}
+			\item shim+grub: 64Bit (secure boot) EFI
+			\item \alt<2>{\sout{syslinux: BIOS} \textcolor{blue}{grub: BIOS, EFI 32/64Bit}}{syslinux: BIOS}
+			\item sucht den USB-Stick
+			\item lädt Kernel und initramfs
+			\item startet den Kernel
+			\item<2> \textcolor{blue}{Erkennung 32/64Bit}
+			\item<2> \textcolor{blue}{selektieren des korrekten Kernels/initramfs}
+			\item<2> \textcolor{blue}{GParted und FreeDOS starten}
+		\end{itemize}
+	\end{column}
+	\begin{column}{.4\linewidth}
+		\tiny
+		\resizebox{\linewidth}{!}{
+		\begin{tikzpicture}[node distance = 2cm, auto]
+		\tikzstyle{block} = [rectangle, draw, fill=blue!20,
+		text width=8em, text centered, rounded corners, minimum height=4em]
+		\tikzstyle{line} = [draw, -latex']
+		\tikzstyle{cloud} = [draw, fill=red!20, node distance=0cm, xshift=-3em, yshift=2em]
+		% Place nodes
+		\node [block] (firmware) {Firmware};
+		\node [block, below of=firmware,fill=purple!20] (bootloader) {Bootloader};
+		\node [block, below left of=bootloader, node distance=2.5cm] (kernel) {Kernel};
+		\node [block, below right of=bootloader, node distance=2.5cm] (initramfs) {initramfs/casper};
+		\node [block, below left of=initramfs, node distance=2.5cm] (rootfs) {rootfs/init};
+		
+		\node [cloud, above left of=firmware] {$0$};
+		\node [cloud, above left of=bootloader] {$1$};
+		\node [cloud, above left of=kernel] {$2$};
+		\node [cloud, above left of=initramfs] {$3$};
+		\node [cloud, above left of=rootfs] {$4$};
+		% Draw edges
+		\path [line,dashed] (firmware) -- node[right]{?} (bootloader);
+		\path [line] (bootloader) -- node[right]{findet \& lädt} (initramfs);
+		\path [line] (bootloader) -- node[left]{findet, lädt \& führt aus} (kernel);
+		\path [line] (kernel) -- node[above]{führt aus} (initramfs);
+		\path [line] (initramfs) -- node[left]{findet \& wechselt zu} (rootfs);
+		\end{tikzpicture}
+		}
+	\end{column}
+\end{columns}
+\end{frame}
+
+\begin{frame}[t]{Bootvorgang -- initramfs/casper}
+	
+	\begin{columns}
+		\begin{column}{.65\linewidth}
+			\begin{itemize}
+				\item sucht den USB-Stick
+				\item baut das rootfs \only<2>{\textcolor{blue}{besser/anders}} zusammen
+				\item legt den Benutzer des Live-Systems an
+				\item Manipulation des rootfs
+				\item lädt Kernel Module
+				\item<2> \textcolor{blue}{nmtelekinese}
+				\item<2> \textcolor{blue}{lädt Hooks vom USB-Stick nach}
+				\begin{itemize}
+					\item<2> \textcolor{blue}{lipnsa}
+				\end{itemize}
+			\end{itemize}
+		\end{column}
+		\begin{column}{.4\linewidth}
+			\tiny
+			\resizebox{\linewidth}{!}{
+				\begin{tikzpicture}[node distance = 2cm, auto]
+				\tikzstyle{block} = [rectangle, draw, fill=blue!20,
+				text width=8em, text centered, rounded corners, minimum height=4em]
+				\tikzstyle{line} = [draw, -latex']
+				\tikzstyle{cloud} = [draw, fill=red!20, node distance=0cm, xshift=-3em, yshift=2em]
+				% Place nodes
+				\node [block] (firmware) {Firmware};
+				\node [block, below of=firmware] (bootloader) {Bootloader};
+				\node [block, below left of=bootloader, node distance=2.5cm] (kernel) {Kernel};
+				\node [block, below right of=bootloader, node distance=2.5cm,fill=purple!20] (initramfs) {initramfs/casper};
+				\node [block, below left of=initramfs, node distance=2.5cm] (rootfs) {rootfs/init};
+				
+				\node [cloud, above left of=firmware] {$0$};
+				\node [cloud, above left of=bootloader] {$1$};
+				\node [cloud, above left of=kernel] {$2$};
+				\node [cloud, above left of=initramfs] {$3$};
+				\node [cloud, above left of=rootfs] {$4$};
+				% Draw edges
+				\path [line,dashed] (firmware) -- node[right]{?} (bootloader);
+				\path [line] (bootloader) -- node[right]{findet \& lädt} (initramfs);
+				\path [line] (bootloader) -- node[left]{findet, lädt \& führt aus} (kernel);
+				\path [line] (kernel) -- node[above]{führt aus} (initramfs);
+				\path [line] (initramfs) -- node[left]{findet \& wechselt zu} (rootfs);
+				\end{tikzpicture}
+			}
+		\end{column}
+	\end{columns}
+\end{frame}
+
+\begin{frame}[t]{Bootvorgang -- rootfs}
+	
+	\begin{columns}
+		\begin{column}{\linewidth}
+			\structure{Aus Sicht des initramfs:}
+
+\vspace{1em}
+\small
+			\begin{tabular}{l l l}
+				\only<1>{filesystem.squashfs & squashfs & /filesystem.squashfs\\}\only<2>{\textcolor{blue}{lipcommon.squashfs} & squashfs & /lipcommon.squashfs\\}\only<2>{\textcolor{blue}{lip\$\$bit.squashfs} & squashfs & /lip\$\$bit.squashfs\\}tmpfs & tmpfs & /cow\\\only<2>{\textcolor{blue}{/lipcommon.squashfs /lip\$\$bit.squashfs} & overlayfs & /overlay\\}\alt<2>{/overlay}{/filesystem.squashfs} /cow & overlayfs & /root\\
+				\alt<2>{/overlay}{/filesystem.squashfs} & bindmount & /root/rdo\\
+				/cow & bindmount & /root/cow\\
+			\end{tabular}
+			
+			\vspace{1em}
+			\begin{itemize}
+				\item \enquote{richtiges} rootfs wird /root
+			\end{itemize}
+		\end{column}
+	\end{columns}	
+\end{frame}
+
 \section{Inhalt eines LIPImages}
 \begin{frame}
+	\tableofcontents[currentsection]
 \end{frame}
 
 \section{Aufbau und Arbeitsweise von LIPCK}
-- 
GitLab