Skip to content
Snippets Groups Projects
Commit 426592fc authored by Christopher Spinrath's avatar Christopher Spinrath Committed by Christopher Spinrath
Browse files

Buildhau Folien: LIPCK und Erste Schritte

parent 4c845028
Branches
No related tags found
No related merge requests found
\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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment