summaryrefslogtreecommitdiff
path: root/kernel-devel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel-devel')
-rw-r--r--kernel-devel/char-device/handout_char-device_de.tex17
-rw-r--r--kernel-devel/char-device/hints_char-device_de.tex24
-rw-r--r--kernel-devel/char-device/linutronix-left.pngbin0 -> 17432 bytes
-rw-r--r--kernel-devel/char-device/linutronix-right.pngbin0 -> 5559 bytes
-rw-r--r--kernel-devel/char-device/linutronix.pngbin0 -> 24712 bytes
-rw-r--r--kernel-devel/char-device/pres_char-device_de.tex24
-rw-r--r--kernel-devel/driver-basics/handout_driver-basics_de.tex17
-rw-r--r--kernel-devel/driver-basics/hints_driver-basics_de.tex24
-rw-r--r--kernel-devel/driver-basics/linutronix-left.pngbin0 -> 17432 bytes
-rw-r--r--kernel-devel/driver-basics/linutronix-right.pngbin0 -> 5559 bytes
-rw-r--r--kernel-devel/driver-basics/linutronix.pngbin0 -> 24712 bytes
-rw-r--r--kernel-devel/driver-basics/pres_driver-basics_de.tex24
-rw-r--r--kernel-devel/kernel-basics/handout_kernel-basics_de.tex17
-rw-r--r--kernel-devel/kernel-basics/hints_kernel-basics_de.tex26
-rw-r--r--kernel-devel/kernel-basics/images/Subsystems.pngbin0 -> 36977 bytes
-rw-r--r--kernel-devel/kernel-basics/images/Subsystems.svg398
-rw-r--r--kernel-devel/kernel-basics/linutronix-left.pngbin0 -> 17432 bytes
-rw-r--r--kernel-devel/kernel-basics/linutronix-right.pngbin0 -> 5559 bytes
-rw-r--r--kernel-devel/kernel-basics/linutronix.pngbin0 -> 24712 bytes
-rw-r--r--kernel-devel/kernel-basics/pres_kernel-basics_de.tex24
-rw-r--r--kernel-devel/kernel-best-practices/handout_kernel-best-practices_de.tex17
-rw-r--r--kernel-devel/kernel-best-practices/hints_kernel-best-practices_de.tex26
-rw-r--r--kernel-devel/kernel-best-practices/linutronix-left.pngbin0 -> 17432 bytes
-rw-r--r--kernel-devel/kernel-best-practices/linutronix-right.pngbin0 -> 5559 bytes
-rw-r--r--kernel-devel/kernel-best-practices/linutronix.pngbin0 -> 24712 bytes
-rw-r--r--kernel-devel/kernel-best-practices/pres_kernel-best-practices_de.tex24
-rw-r--r--kernel-devel/kernel-build/handout_kernel-build_de.tex17
-rw-r--r--kernel-devel/kernel-build/hints_kernel-build_de.tex27
-rw-r--r--kernel-devel/kernel-build/linutronix-left.pngbin0 -> 17432 bytes
-rw-r--r--kernel-devel/kernel-build/linutronix-right.pngbin0 -> 5559 bytes
-rw-r--r--kernel-devel/kernel-build/linutronix.pngbin0 -> 24712 bytes
-rw-r--r--kernel-devel/kernel-build/pres_kernel-build_de.tex24
-rw-r--r--kernel-devel/uio-driver/handout_uio-driver_de.tex17
-rw-r--r--kernel-devel/uio-driver/hints_uio-driver_de.tex25
-rw-r--r--kernel-devel/uio-driver/linutronix-left.pngbin0 -> 17432 bytes
-rw-r--r--kernel-devel/uio-driver/linutronix-right.pngbin0 -> 5559 bytes
-rw-r--r--kernel-devel/uio-driver/linutronix.pngbin0 -> 24712 bytes
-rw-r--r--kernel-devel/uio-driver/pres_uio-driver_de.tex24
38 files changed, 796 insertions, 0 deletions
diff --git a/kernel-devel/char-device/handout_char-device_de.tex b/kernel-devel/char-device/handout_char-device_de.tex
new file mode 100644
index 0000000..4c391b2
--- /dev/null
+++ b/kernel-devel/char-device/handout_char-device_de.tex
@@ -0,0 +1,17 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Titel}
+
+\subsection*{Abschnitt1}
+
+Text
+
+\subsection*{Abschnitt2}
+
+Text
+
+\end{document}
diff --git a/kernel-devel/char-device/hints_char-device_de.tex b/kernel-devel/char-device/hints_char-device_de.tex
new file mode 100644
index 0000000..5296df8
--- /dev/null
+++ b/kernel-devel/char-device/hints_char-device_de.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Character Devices\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Kennenlernen eines minimalen char-device Treibers
+\item Kennenlernen der Funktionen open, release, read, write, ioctl
+\item Verstehen, wann man solche Treiber braucht und wann nicht
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Erstellen eines kleinen Treibers anhand eines vorgegebenen Gerüsts.
+
+\end{document}
diff --git a/kernel-devel/char-device/linutronix-left.png b/kernel-devel/char-device/linutronix-left.png
new file mode 100644
index 0000000..c9864c8
--- /dev/null
+++ b/kernel-devel/char-device/linutronix-left.png
Binary files differ
diff --git a/kernel-devel/char-device/linutronix-right.png b/kernel-devel/char-device/linutronix-right.png
new file mode 100644
index 0000000..136f35d
--- /dev/null
+++ b/kernel-devel/char-device/linutronix-right.png
Binary files differ
diff --git a/kernel-devel/char-device/linutronix.png b/kernel-devel/char-device/linutronix.png
new file mode 100644
index 0000000..0c0e706
--- /dev/null
+++ b/kernel-devel/char-device/linutronix.png
Binary files differ
diff --git a/kernel-devel/char-device/pres_char-device_de.tex b/kernel-devel/char-device/pres_char-device_de.tex
new file mode 100644
index 0000000..07db328
--- /dev/null
+++ b/kernel-devel/char-device/pres_char-device_de.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Was ist Linux?\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Lernziel 1
+\item Lernziel 2
+\item Lernziel 3
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Hinweise zu Übungen, Zeitlimit dazu.
+
+\end{document}
diff --git a/kernel-devel/driver-basics/handout_driver-basics_de.tex b/kernel-devel/driver-basics/handout_driver-basics_de.tex
new file mode 100644
index 0000000..4c391b2
--- /dev/null
+++ b/kernel-devel/driver-basics/handout_driver-basics_de.tex
@@ -0,0 +1,17 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Titel}
+
+\subsection*{Abschnitt1}
+
+Text
+
+\subsection*{Abschnitt2}
+
+Text
+
+\end{document}
diff --git a/kernel-devel/driver-basics/hints_driver-basics_de.tex b/kernel-devel/driver-basics/hints_driver-basics_de.tex
new file mode 100644
index 0000000..4ed69a6
--- /dev/null
+++ b/kernel-devel/driver-basics/hints_driver-basics_de.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Treiber-Grundlagen\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Verstehen des Unterschieds char-/block-/network-devices
+\item Kennenlernen von Gerätedateien (mknod, udev)
+\item Wie finden driver und device zueinander? (ACPI, Hotplug, platform device)
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Tools mknod, udevadm
+
+\end{document}
diff --git a/kernel-devel/driver-basics/linutronix-left.png b/kernel-devel/driver-basics/linutronix-left.png
new file mode 100644
index 0000000..c9864c8
--- /dev/null
+++ b/kernel-devel/driver-basics/linutronix-left.png
Binary files differ
diff --git a/kernel-devel/driver-basics/linutronix-right.png b/kernel-devel/driver-basics/linutronix-right.png
new file mode 100644
index 0000000..136f35d
--- /dev/null
+++ b/kernel-devel/driver-basics/linutronix-right.png
Binary files differ
diff --git a/kernel-devel/driver-basics/linutronix.png b/kernel-devel/driver-basics/linutronix.png
new file mode 100644
index 0000000..0c0e706
--- /dev/null
+++ b/kernel-devel/driver-basics/linutronix.png
Binary files differ
diff --git a/kernel-devel/driver-basics/pres_driver-basics_de.tex b/kernel-devel/driver-basics/pres_driver-basics_de.tex
new file mode 100644
index 0000000..07db328
--- /dev/null
+++ b/kernel-devel/driver-basics/pres_driver-basics_de.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Was ist Linux?\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Lernziel 1
+\item Lernziel 2
+\item Lernziel 3
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Hinweise zu Übungen, Zeitlimit dazu.
+
+\end{document}
diff --git a/kernel-devel/kernel-basics/handout_kernel-basics_de.tex b/kernel-devel/kernel-basics/handout_kernel-basics_de.tex
new file mode 100644
index 0000000..4c391b2
--- /dev/null
+++ b/kernel-devel/kernel-basics/handout_kernel-basics_de.tex
@@ -0,0 +1,17 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Titel}
+
+\subsection*{Abschnitt1}
+
+Text
+
+\subsection*{Abschnitt2}
+
+Text
+
+\end{document}
diff --git a/kernel-devel/kernel-basics/hints_kernel-basics_de.tex b/kernel-devel/kernel-basics/hints_kernel-basics_de.tex
new file mode 100644
index 0000000..c81b6f5
--- /dev/null
+++ b/kernel-devel/kernel-basics/hints_kernel-basics_de.tex
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Kernel-Grundlagen\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Verstehen der Begriffe Subsystem und Maintainer
+\item Verstehen des Entwicklungsprozesses (Patche, Review)
+\item Kennenlernen des Buildsystems (make menuconfig)
+\item Kennenlerne grundsätzlicher Kernel-Ziele (Skalierbarkeit,
+ Plattformunabhängigkeit)
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Hinweise zu Übungen, Zeitlimit dazu.
+
+\end{document}
diff --git a/kernel-devel/kernel-basics/images/Subsystems.png b/kernel-devel/kernel-basics/images/Subsystems.png
new file mode 100644
index 0000000..29cd56b
--- /dev/null
+++ b/kernel-devel/kernel-basics/images/Subsystems.png
Binary files differ
diff --git a/kernel-devel/kernel-basics/images/Subsystems.svg b/kernel-devel/kernel-basics/images/Subsystems.svg
new file mode 100644
index 0000000..20615da
--- /dev/null
+++ b/kernel-devel/kernel-basics/images/Subsystems.svg
@@ -0,0 +1,398 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45"
+ sodipodi:docbase="/home/hans/hjkdocs/unterricht/images"
+ sodipodi:docname="Subsystems.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ sodipodi:modified="true">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path4366"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutM"
+ style="overflow:visible">
+ <path
+ id="path4292"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.7490424"
+ inkscape:cx="301.78572"
+ inkscape:cy="737.2576"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-width="1672"
+ inkscape:window-height="977"
+ inkscape:window-x="0"
+ inkscape:window-y="0">
+ <sodipodi:guide
+ orientation="horizontal"
+ position="816.20326"
+ id="guide3133" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="844.28572"
+ id="guide3165" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="703.57143"
+ id="guide3191" />
+ <sodipodi:guide
+ orientation="vertical"
+ position="538.21429"
+ id="guide4180" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="732.14286"
+ id="guide4186" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="opacity:1;fill:#ff5e33;fill-opacity:1;stroke:#000000;stroke-width:2.06220472;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect2160"
+ width="101.01525"
+ height="58.588848"
+ x="66.670067"
+ y="177.57008"
+ rx="8"
+ ry="8" />
+ <rect
+ style="opacity:1;fill:#fff833;fill-opacity:1;stroke:#000000;stroke-width:2.06220484;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect3135"
+ width="101.01525"
+ height="58.588848"
+ x="180.56381"
+ y="176.99632"
+ rx="8"
+ ry="8" />
+ <rect
+ style="opacity:1;fill:#88ff33;fill-opacity:1;stroke:#000000;stroke-width:2.06220484;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect3137"
+ width="200.71428"
+ height="58.928574"
+ x="336.78571"
+ y="177.00504"
+ rx="8"
+ ry="8" />
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+ x="288.21426"
+ y="208.43362"
+ id="text3157"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3159"
+ x="288.21426"
+ y="208.43362">...</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+ x="542.23108"
+ y="207.9736"
+ id="text3161"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3163"
+ x="542.23108"
+ y="207.9736">...</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+ x="17.945356"
+ y="208.33075"
+ id="text3167"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3169"
+ x="17.945356"
+ y="208.33075">...</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="80.357147"
+ y="209.86218"
+ id="text3171"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3173"
+ x="80.357147"
+ y="209.86218">Scheduler</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="229.61899"
+ y="200.40726"
+ id="text3175"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3179"
+ x="229.61899"
+ y="200.40726">Memory</tspan><tspan
+ sodipodi:role="line"
+ id="tspan3181"
+ x="229.61899"
+ y="215.40726">Management</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="375.69043"
+ y="211.83582"
+ id="text3183"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3187"
+ x="375.69043"
+ y="211.83582">Driver Core</tspan></text>
+ <rect
+ style="opacity:1;fill:#84fcff;fill-opacity:1;stroke:#000000;stroke-width:2.06220484;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect3189"
+ width="94.285713"
+ height="59.642857"
+ x="206.78571"
+ y="288.07645" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="234.86748"
+ y="324.46109"
+ id="text3193"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3197"
+ x="234.86748"
+ y="324.46109">PCI</tspan></text>
+ <rect
+ style="opacity:1;fill:#84fcff;fill-opacity:1;stroke:#000000;stroke-width:2.06220484;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4168"
+ width="94.285713"
+ height="59.642857"
+ x="325.00003"
+ y="288.11679" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="349.51035"
+ y="324.50143"
+ id="text4170"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4182"
+ x="349.51035"
+ y="324.50143">USB</tspan></text>
+ <rect
+ style="opacity:1;fill:#84fcff;fill-opacity:1;stroke:#000000;stroke-width:2.06220484;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4174"
+ width="94.285713"
+ height="59.642857"
+ x="442.85715"
+ y="288.11679" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="470.93893"
+ y="324.50143"
+ id="text4176"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4184"
+ x="470.93893"
+ y="324.50143">I2C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+ x="541.87396"
+ y="320.11646"
+ id="text4188"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4190"
+ x="541.87396"
+ y="320.11646">...</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+ x="159.01678"
+ y="320.4736"
+ id="text4192"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4194"
+ x="159.01678"
+ y="320.4736">...</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 409.28571,235.93361 L 253.21429,287.36218 L 252.5,288.43361"
+ id="path4196"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 435,235.93361 L 372.5,287.00504 L 372.14286,288.07647"
+ id="path4198"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 461.42857,236.6479 L 488.92857,286.6479 L 490.35714,287.71933"
+ id="path4200"
+ sodipodi:nodetypes="ccc" />
+ <rect
+ style="opacity:1;fill:#84fcff;fill-opacity:1;stroke:#000000;stroke-width:2.06220484;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4402"
+ width="94.285713"
+ height="59.642857"
+ x="207.07635"
+ y="393.52963" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="218.50317"
+ y="430.26865"
+ id="text4404"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4428"
+ x="218.50317"
+ y="430.26865">Sound</tspan></text>
+ <rect
+ style="opacity:1;fill:#84fcff;fill-opacity:1;stroke:#000000;stroke-width:2.06220484;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4408"
+ width="94.285713"
+ height="59.642857"
+ x="325.29068"
+ y="393.56998" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="345.19431"
+ y="429.95462"
+ id="text4410"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4430"
+ x="345.19431"
+ y="429.95462">ISDN</tspan></text>
+ <rect
+ style="opacity:1;fill:#84fcff;fill-opacity:1;stroke:#000000;stroke-width:2.06220484;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4414"
+ width="94.285713"
+ height="59.642857"
+ x="443.14783"
+ y="393.56998" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans"
+ x="470.16653"
+ y="429.24591"
+ id="text4416"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4440"
+ x="470.16653"
+ y="429.24591">V4L</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+ x="542.16461"
+ y="425.56964"
+ id="text4420"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4422"
+ x="542.16461"
+ y="425.56964">...</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+ x="159.30743"
+ y="425.92679"
+ id="text4424"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4426"
+ x="159.30743"
+ y="425.92679">...</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2.06220472,2.06220472;stroke-dashoffset:0"
+ d="M 253.36819,392.89615 L 253.36819,347.53793"
+ id="path4442" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2.06220472,2.06220472;stroke-dashoffset:0"
+ d="M 255.14,392.18743 L 373.14225,347.89229 L 373.14225,347.89229"
+ id="path5413" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2.06220472,2.06220472;stroke-dashoffset:0"
+ d="M 254.78564,348.79075 L 254.78564,348.79075 L 373.85097,393.25052 L 373.85097,347.89229 L 373.49661,347.89229"
+ id="path5415" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2.06220472,2.06220472;stroke-dashoffset:0"
+ d="M 374.55969,392.89615 L 491.85322,347.89229 L 491.85322,347.89229"
+ id="path5417" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2.06220472,2.06220472;stroke-dashoffset:0"
+ d="M 493.27067,393.95924 L 254.07692,348.24665 L 254.07692,348.24665"
+ id="path5419" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.06220472;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2.06220472,2.06220472;stroke-dashoffset:0"
+ d="M 374.55969,347.89229 L 374.55969,347.89229 L 491.85322,393.25052 L 491.85322,347.89229"
+ id="path5421" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#path5421"
+ id="use5423" />
+ </g>
+</svg>
diff --git a/kernel-devel/kernel-basics/linutronix-left.png b/kernel-devel/kernel-basics/linutronix-left.png
new file mode 100644
index 0000000..c9864c8
--- /dev/null
+++ b/kernel-devel/kernel-basics/linutronix-left.png
Binary files differ
diff --git a/kernel-devel/kernel-basics/linutronix-right.png b/kernel-devel/kernel-basics/linutronix-right.png
new file mode 100644
index 0000000..136f35d
--- /dev/null
+++ b/kernel-devel/kernel-basics/linutronix-right.png
Binary files differ
diff --git a/kernel-devel/kernel-basics/linutronix.png b/kernel-devel/kernel-basics/linutronix.png
new file mode 100644
index 0000000..0c0e706
--- /dev/null
+++ b/kernel-devel/kernel-basics/linutronix.png
Binary files differ
diff --git a/kernel-devel/kernel-basics/pres_kernel-basics_de.tex b/kernel-devel/kernel-basics/pres_kernel-basics_de.tex
new file mode 100644
index 0000000..07db328
--- /dev/null
+++ b/kernel-devel/kernel-basics/pres_kernel-basics_de.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Was ist Linux?\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Lernziel 1
+\item Lernziel 2
+\item Lernziel 3
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Hinweise zu Übungen, Zeitlimit dazu.
+
+\end{document}
diff --git a/kernel-devel/kernel-best-practices/handout_kernel-best-practices_de.tex b/kernel-devel/kernel-best-practices/handout_kernel-best-practices_de.tex
new file mode 100644
index 0000000..4c391b2
--- /dev/null
+++ b/kernel-devel/kernel-best-practices/handout_kernel-best-practices_de.tex
@@ -0,0 +1,17 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Titel}
+
+\subsection*{Abschnitt1}
+
+Text
+
+\subsection*{Abschnitt2}
+
+Text
+
+\end{document}
diff --git a/kernel-devel/kernel-best-practices/hints_kernel-best-practices_de.tex b/kernel-devel/kernel-best-practices/hints_kernel-best-practices_de.tex
new file mode 100644
index 0000000..ce4c69a
--- /dev/null
+++ b/kernel-devel/kernel-best-practices/hints_kernel-best-practices_de.tex
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Kernel-Entwicklung: Best Practices\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Kennenlernen des Umgangs mit Patchen (diff, quilt, git)
+\item Verstehen, warum strikte Coding-Style-Regeln wichtig sind
+\item Verstehen, warum man einen aktuellen Kernel verwenden sollte
+\item Kennenlernen der Möglichkeiten und Vorteile der Zusammenarbeit
+ mit der Community (Mailinglisten, IRC, Wikis...)
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Internet-Recherche nach Homepages ausgewählter Projekte.
+
+\end{document}
diff --git a/kernel-devel/kernel-best-practices/linutronix-left.png b/kernel-devel/kernel-best-practices/linutronix-left.png
new file mode 100644
index 0000000..c9864c8
--- /dev/null
+++ b/kernel-devel/kernel-best-practices/linutronix-left.png
Binary files differ
diff --git a/kernel-devel/kernel-best-practices/linutronix-right.png b/kernel-devel/kernel-best-practices/linutronix-right.png
new file mode 100644
index 0000000..136f35d
--- /dev/null
+++ b/kernel-devel/kernel-best-practices/linutronix-right.png
Binary files differ
diff --git a/kernel-devel/kernel-best-practices/linutronix.png b/kernel-devel/kernel-best-practices/linutronix.png
new file mode 100644
index 0000000..0c0e706
--- /dev/null
+++ b/kernel-devel/kernel-best-practices/linutronix.png
Binary files differ
diff --git a/kernel-devel/kernel-best-practices/pres_kernel-best-practices_de.tex b/kernel-devel/kernel-best-practices/pres_kernel-best-practices_de.tex
new file mode 100644
index 0000000..07db328
--- /dev/null
+++ b/kernel-devel/kernel-best-practices/pres_kernel-best-practices_de.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Was ist Linux?\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Lernziel 1
+\item Lernziel 2
+\item Lernziel 3
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Hinweise zu Übungen, Zeitlimit dazu.
+
+\end{document}
diff --git a/kernel-devel/kernel-build/handout_kernel-build_de.tex b/kernel-devel/kernel-build/handout_kernel-build_de.tex
new file mode 100644
index 0000000..4c391b2
--- /dev/null
+++ b/kernel-devel/kernel-build/handout_kernel-build_de.tex
@@ -0,0 +1,17 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Titel}
+
+\subsection*{Abschnitt1}
+
+Text
+
+\subsection*{Abschnitt2}
+
+Text
+
+\end{document}
diff --git a/kernel-devel/kernel-build/hints_kernel-build_de.tex b/kernel-devel/kernel-build/hints_kernel-build_de.tex
new file mode 100644
index 0000000..dc67dbb
--- /dev/null
+++ b/kernel-devel/kernel-build/hints_kernel-build_de.tex
@@ -0,0 +1,27 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Kernel-Build\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Konfiguration des Kernels (mehr Details, Beispiele)
+\item make, gängige Optionen (z.B. make htmldocs)
+\item Crosscompiling des Kernels
+\item Kernel installieren nativ/cross
+\item Module installieren nativ/cross
+\item Wann sollte man einen Kernel mit/ohne Module bauen?
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Tools modinfo, modprobe, rmmod
+
+\end{document}
diff --git a/kernel-devel/kernel-build/linutronix-left.png b/kernel-devel/kernel-build/linutronix-left.png
new file mode 100644
index 0000000..c9864c8
--- /dev/null
+++ b/kernel-devel/kernel-build/linutronix-left.png
Binary files differ
diff --git a/kernel-devel/kernel-build/linutronix-right.png b/kernel-devel/kernel-build/linutronix-right.png
new file mode 100644
index 0000000..136f35d
--- /dev/null
+++ b/kernel-devel/kernel-build/linutronix-right.png
Binary files differ
diff --git a/kernel-devel/kernel-build/linutronix.png b/kernel-devel/kernel-build/linutronix.png
new file mode 100644
index 0000000..0c0e706
--- /dev/null
+++ b/kernel-devel/kernel-build/linutronix.png
Binary files differ
diff --git a/kernel-devel/kernel-build/pres_kernel-build_de.tex b/kernel-devel/kernel-build/pres_kernel-build_de.tex
new file mode 100644
index 0000000..07db328
--- /dev/null
+++ b/kernel-devel/kernel-build/pres_kernel-build_de.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Was ist Linux?\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Lernziel 1
+\item Lernziel 2
+\item Lernziel 3
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Hinweise zu Übungen, Zeitlimit dazu.
+
+\end{document}
diff --git a/kernel-devel/uio-driver/handout_uio-driver_de.tex b/kernel-devel/uio-driver/handout_uio-driver_de.tex
new file mode 100644
index 0000000..4c391b2
--- /dev/null
+++ b/kernel-devel/uio-driver/handout_uio-driver_de.tex
@@ -0,0 +1,17 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Titel}
+
+\subsection*{Abschnitt1}
+
+Text
+
+\subsection*{Abschnitt2}
+
+Text
+
+\end{document}
diff --git a/kernel-devel/uio-driver/hints_uio-driver_de.tex b/kernel-devel/uio-driver/hints_uio-driver_de.tex
new file mode 100644
index 0000000..c42e9ff
--- /dev/null
+++ b/kernel-devel/uio-driver/hints_uio-driver_de.tex
@@ -0,0 +1,25 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq UIO-Treiber\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Verstehen, wie UIO-Treiber grundsätzlich funktionieren
+\item Verstehen, für welche Devices man UIO-Treiber einsetzt
+\item Verstehen der Sicherheitsproblematik
+\item Kennenlernen der Lizenz-Problematik
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Erklären eines UIO-Treibers zur Interrupt-Latenz-Messung.
+
+\end{document}
diff --git a/kernel-devel/uio-driver/linutronix-left.png b/kernel-devel/uio-driver/linutronix-left.png
new file mode 100644
index 0000000..c9864c8
--- /dev/null
+++ b/kernel-devel/uio-driver/linutronix-left.png
Binary files differ
diff --git a/kernel-devel/uio-driver/linutronix-right.png b/kernel-devel/uio-driver/linutronix-right.png
new file mode 100644
index 0000000..136f35d
--- /dev/null
+++ b/kernel-devel/uio-driver/linutronix-right.png
Binary files differ
diff --git a/kernel-devel/uio-driver/linutronix.png b/kernel-devel/uio-driver/linutronix.png
new file mode 100644
index 0000000..0c0e706
--- /dev/null
+++ b/kernel-devel/uio-driver/linutronix.png
Binary files differ
diff --git a/kernel-devel/uio-driver/pres_uio-driver_de.tex b/kernel-devel/uio-driver/pres_uio-driver_de.tex
new file mode 100644
index 0000000..07db328
--- /dev/null
+++ b/kernel-devel/uio-driver/pres_uio-driver_de.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\section*{Block \lq Was ist Linux?\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item Lernziel 1
+\item Lernziel 2
+\item Lernziel 3
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Hinweise zu Übungen, Zeitlimit dazu.
+
+\end{document}