diff --git a/installparty/folien-buildhauen/slides.tex b/installparty/folien-buildhauen/slides.tex index 9880f602987471ed29dcc2079bdc16c7498d333a..a0e1306d839d2708498ad20a416a867586e6a2c6 100644 --- a/installparty/folien-buildhauen/slides.tex +++ b/installparty/folien-buildhauen/slides.tex @@ -1,4 +1,4 @@ -\documentclass[]{beamer} +\documentclass[x11colors,svgnames]{beamer} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} @@ -18,6 +18,7 @@ \usepackage{enumerate} \usepackage{quoting} \usepackage[normalem]{ulem} +\usepackage{listings} \usetheme{OSAK} %\OSAKthemenologo @@ -28,6 +29,33 @@ \author{Christopher \& Daniel} \institute[OSAK]{Open Source Arbeitskreis\\der Fachschaft Mathematik/Physik/Informatik an der RWTH Aachen \\ und der Aachener Linux User Group} +\lstset{ % + backgroundcolor=\color{white}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor} + basicstyle=\scriptsize, % the size of the fonts that are used for the code + breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace + breaklines=true, % sets automatic line breaking + captionpos=b, % sets the caption-position to bottom + %commentstyle=\color{mygreen}, % comment style + deletekeywords={...}, % if you want to delete keywords from the given language + escapeinside={\%*}{*)}, % if you want to add LaTeX within your code + extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8 + %frame=single, % adds a frame around the code + keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible) + %keywordstyle=\color{blue}, % keyword style + language=[gnu] make, % the language of the code + otherkeywords={*,...}, % if you want to add more keywords to the set + %numbersep=5pt, % how far the line-numbers are from the code + %numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers + rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here)) + showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces' + showstringspaces=false, % underline spaces within strings only + showtabs=false, % show tabs within strings adding particular underscores + stepnumber=2, % the step between two line-numbers. If it's 1, each line will be numbered + %stringstyle=\color{mymauve}, % string literal style + tabsize=2, % sets default tabsize to 2 spaces + title=\lstname % show the filename of files included with \lstinputlisting; also try caption instead of title +} + \begin{document} \begin{frame} @@ -136,6 +164,7 @@ text width=8em, text centered, rounded corners, minimum height=4em] \begin{columns} \begin{column}{.65\linewidth} \begin{itemize} + \item Achtung: nur eingeschränkte \texttt{busybox} \item sucht den USB-Stick \item baut das rootfs \only<2>{\textcolor{blue}{besser/anders}} zusammen \item legt den Benutzer des Live-Systems an @@ -197,24 +226,150 @@ text width=8em, text centered, rounded corners, minimum height=4em] \vspace{1em} \begin{itemize} \item \enquote{richtiges} rootfs wird /root - \item \textit{modprobe.d} und \textit{sysctl.d} angepasst - \item diverse Pakete sind vorinstalliert + \item<2> \textcolor{blue}{\textit{modprobe.d} und \textit{sysctl.d} angepasst} + \item<2> \textcolor{blue}{diverse Pakete sind vorinstalliert} \end{itemize} \end{column} \end{columns} \end{frame} \section{Inhalt eines LIPImages} -\begin{frame} +\begin{frame}{Inhaltsverzeichnis} \tableofcontents[currentsection] \end{frame} -\section{Aufbau und Arbeitsweise von LIPCK} \begin{frame} + \begin{tikzpicture} + \coordinate (sw) at (0, 0); + \coordinate (nw) at (0, 2); + \coordinate (no) at (3, 2); + \coordinate (so) at (3, 0); + \coordinate (om) at (3 ,1); + \coordinate (wm) at (0 ,1); + \coordinate (nsw) at (3, 0.4); + \coordinate (nnw) at (3, 1.6); + \coordinate (nno) at (4.4, 1.6); + \coordinate (nso) at (4.4, 0.4); + \coordinate (h1a) at (3.95, 1.5); + \coordinate (h1b) at (3.75, 1.2); + \coordinate (h2a) at (3.95, 0.8); + \coordinate (h2b) at (3.75, 0.5); + \draw[fill=green!40!white, rounded corners=4pt] (om) -- (so) -- (sw) -- (wm); + \draw[fill=red!80!black, rounded corners=4pt] (om) -- (no) -- (nw) -- (wm); + \draw [fill=LightGrey] (no) -- (nnw) -- (nno) -- (nso) -- (nsw) -- (so) -- (no) ; + \draw (om)--(wm); + + \node at (.5,1.5) [align=center, white] {32 bit \\ binaries}; + \node at (.5,.5) [align=center] {64 bit \\ binaries}; + \draw [fill=blue!40!white] (2,0) rectangle (3,2);\node at (2.5,1) [align=center] {offline \\ Repo}; + \draw [fill=yellow!40!white] (1,0) rectangle (2,2);\node at (1.5,1) [align=center] {non \\ arch}; + + \draw [fill=gray] (h1a) rectangle (h1b); + \draw [fill=gray] (h2a) rectangle (h2b); + + \node [right] at (3.0, 1.4) {4GB}; + \end{tikzpicture} +\end{frame} + +\section{Aufbau und Arbeitsweise von LIPCK} +\begin{frame}{Inhaltsverzeichnis} + \tableofcontents[currentsection] +\end{frame} + +\begin{frame}{Was ist LIPCK?} + LIPCK $=$ {\bf L}inux {\bf I}nstall {\bf P}arty {\bf C}ustomization {\bf K}it + + \pause + \vspace{1em} + Was ist LIPCK \structure{nicht}? + \begin{itemize} + \item Ein allgemeines Remaster-Tool + \item Software für Laien + \end{itemize} + + \pause + \vspace{1em} + Und was ist LIPCK nun wirklich? + \begin{itemize} + \item Expertensoftware + \item Geschichte + \item Dokumentation + \item Unterstützung + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{LIPCK -- Beispiel} +LIPCK ist in GNU make implementiert + +\vspace{1em} +Einfache Regel: +\begin{lstlisting} +rootfs_console : $(call archdir,$(ARCH))$(STATE_DIR)/rootfs_extracted | $(APT_CACHE_DIR) + $(MAKE) ARCH=$(ARCH) rootfs_prepare + mkdir -p "$(call archdir,$(ARCH))$(LXC_DIR)" + ... +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile]{LIPCK -- Beispiel 2} + + \begin{lstlisting} +rootfs_checksums : $(ARCH_DIR)$(CHECKSUMS) + +$(call gentargets,$(CHECKSUMS)) : $(call archdir,%)$(STATE_DIR)/rootfs_remastered + + cd "$(call archdir,$*)$(ROOTFS)" \ + + && find . -type f -print0 | sort -z | xargs -0 md5sum \ + + > "$(call archdir,$*)$(CHECKSUMS)" + \end{lstlisting} + \begin{itemize} + \item \lstinline|$(ARCH_DIR)| verweist auf die primäre Architektur + \item \lstinline|gentargets| erzeugt Targets für beide Architekturen + \item \lstinline|%| und \lstinline|$*| sind Platzhalter für die Architektur + \end{itemize} \end{frame} \section{Erste Schritte} -\begin{frame} +\begin{frame}{Inhaltsverzeichnis} + \tableofcontents[currentsection] +\end{frame} + +\begin{frame}{Erste Schritte} + \begin{enumerate} + \item Neuen Branch im \textit{lipstick} git anlegen + \item \texttt{config/Makefile.conf} anpassen; dabei nachdenken + \item Sind die Paketlisten in \texttt{contrib} aktuell? + \item \texttt{\$ sudo make clean\_really\_all} + \item \texttt{\$ sudo make image} + \begin{itemize} + \item Fehler verstehen + \item LIPCK anpassen + \item immer \structure{verallgemeinern}, nie neu spezialisieren + \item nochmal! + \end{itemize} + \item \texttt{\$ sudo make repo} + \item \texttt{\$ sudo make image\_deploy $\backslash$ \\\hspace{5em}IMAGE\_FILE=/my/final/image} + \end{enumerate} +\end{frame} + +\begin{frame}{Erste Schritte -- Infrastruktur} + \structure{Repositories} + \begin{itemize} + \item FS-GitLab + \item \texttt{git@git.fsmpi.rwth-aachen.de:osak/lipstick.git} + \item \texttt{git@git.fsmpi.rwth-aachen.de:osak/lipck.git} + \end{itemize} + +\vspace{1em} + \structure{OSAK Build-Server} + \begin{itemize} + \item \texttt{osak-build.fsmpi.rwth-aachen.de} + \item nur aus dem RWTH-Netz erreichbar + \item \texttt{\$ sudo -i -u buildhauer} + \item \texttt{\$ screen -x || screen} + \end{itemize} \end{frame} \end{document} \ No newline at end of file