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