summaryrefslogtreecommitdiff
path: root/kernel-devel/kernel-build
diff options
context:
space:
mode:
authorManuel Traut <manut@linutronix.de>2011-01-26 18:49:31 +0100
committerManuel Traut <manut@linutronix.de>2011-01-26 18:49:31 +0100
commit6fb0950420424ff27f6aa89429a763409b088ed6 (patch)
tree3f981148144a4f5e2ddfc66a00134e3158867d7e /kernel-devel/kernel-build
parentf020c2ca1ef336cee116ec3df47a984289c2c18e (diff)
added kernel devel
Signed-off-by: Manuel Traut <manut@linutronix.de>
Diffstat (limited to 'kernel-devel/kernel-build')
-rw-r--r--kernel-devel/kernel-build/Makefile4
-rw-r--r--kernel-devel/kernel-build/handout_kernel-build_de.tex29
2 files changed, 13 insertions, 20 deletions
diff --git a/kernel-devel/kernel-build/Makefile b/kernel-devel/kernel-build/Makefile
index 4663d52..d641258 100644
--- a/kernel-devel/kernel-build/Makefile
+++ b/kernel-devel/kernel-build/Makefile
@@ -1,7 +1,7 @@
all:
for pdf in `ls -1 *.tex` ; do \
- pdflatex $$pdf; \
- pdflatex $$pdf; \
+ TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \
+ TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \
done
clean:
diff --git a/kernel-devel/kernel-build/handout_kernel-build_de.tex b/kernel-devel/kernel-build/handout_kernel-build_de.tex
index f0e5fae..bd28a31 100644
--- a/kernel-devel/kernel-build/handout_kernel-build_de.tex
+++ b/kernel-devel/kernel-build/handout_kernel-build_de.tex
@@ -1,14 +1,8 @@
-\documentclass{lxarticle}
-\usepackage{german}
-\usepackage[utf8]{inputenc}
-\usepackage{lxheaders}
-\usepackage{lxextras}
+\input{confighandout}
-\begin{document}
+\subsection{Kernel konfigurieren und kompilieren}
-\section*{Kernel konfigurieren und kompilieren}
-
-\subsection*{Vorarbeiten}
+\subsubsection{Vorarbeiten}
Bevor man einen Kernel konfigurieren kann, sollte man wissen, was man will.
Das hört sich zunächst nach einer trivialen Binsenweisheit an, kann aber
@@ -32,7 +26,7 @@ beispielsweise keine Gerätedateien unterstützt. Will man Linux von einem
USB-Stick booten, so wird man diesen dazu beispielsweise mit einem
ext2-Dateisystem versehen.
- \subsection*{Kernel-Konfiguration}
+\subsubsection{Kernel-Konfiguration}
Mit diesen Informationen versehen, kann man jetzt die Konfiguration beginnen.
Dies erfolgt durch Eingabe von
@@ -54,7 +48,7 @@ Man sollte bei der Konfiguration zuerst grundlegende Dinge wie den
Prozessortyp angeben, da untergeordnete Eigenschaften oder Treiber davon
abhängig sein können.
-\subsection*{Module, ja oder nein?}
+\subsubsection{Module, ja oder nein?}
Bei üblichen Kerneln für Desktop-Systeme wird man immer einen Großteil der
Treiber als Module kompilieren. Solche Rechner besitzen viele Schnittstellen,
über die man später die Hardware erweitern kann, und kann den Kernel bereits
@@ -83,7 +77,7 @@ Einzelfall ab. Bei Embedded Systems kommt dies aber durchaus öfter vor.
Aus verständlichen Gründen dürfen Treiber, die zum Booten und Mounten des
Rootfs benötigt werden, niemals als Module gebaut werden!
-\subsection*{initrd}
+\subsubsection{initrd}
Die Kernel von Distributionen haben das Problem, dass sie auf möglichst vielen
unterschiedlichen Rechnern booten müssen. Würde man die Treiber für alle
@@ -100,7 +94,7 @@ aus dem Speicher entfernt werden. Dieses Verfahren nennt man \emph{initrd}
Wenn man einen Kernel für ein bestimmtes Board selbst kompiliert, braucht man
nie eine initrd, da man ja genau die richtigen Treiber fest einkompilieren kann.
-\subsection*{initramfs}
+\subsubsection{initramfs}
Ein anderes Verfahren, bei dem der Kernel zunächst eine RAM-Disk anlegt, ist
\emph{initramfs}. Im Unterschied zu initrd wird diese aber nicht aus einem
@@ -125,7 +119,7 @@ Eine weitere Anwendung sind Firmware-Updates. So könnten die Startskripte
des initramfs beispielsweise auf einem Server nachschauen, ob Updates
vorhanden sind, und diese dann anwenden.
-\subsection*{Kernel kompilieren}
+\subsubsection{Kernel kompilieren}
Nach abgeschlossener Kernel-Konfiguration kompiliert man den Kernel einfach
durch Eingabe von
@@ -168,7 +162,7 @@ Hauptverzeichnis der Kernelquellen, so ergibt sich folgender Aufruf:
./makearm -j3
\end{lstlisting}
-\subsection*{Kernel installieren}
+\subsubsection{Kernel installieren}
Einen Kernel für den lokalen Rechner (also den, auf dem man auch kompiliert
hat) installiert man einfach durch Eingabe von
@@ -217,7 +211,7 @@ Root-Filesystem per NFS aus diesem Verzeichnis gemountet, so stehen die Module
sofort und ohne Reboot zur Verfügung. Diese Vorgehensweise hat sich bei der
Entwicklung von Treibern für Embedded Systems sehr bewährt.
-\subsection*{Kontrollfragen}
+\subsubsection{Kontrollfragen}
\begin{enumerate}
\item Beschreiben Sie Unterschiede zwischen initrd und initramfs.
@@ -226,5 +220,4 @@ Entwicklung von Treibern für Embedded Systems sehr bewährt.
\item Nennen Sie eine Anwendung von initramfs.
\end{enumerate}
-
-\end{document}
+\input{tailhandout}