Linux Kernel Programmierung

IEEE-Tux

Mit großer Freude verkünden wir, dass Professor Dr.-Ing. Jürgen Quade, bekannt durch die Kernel-Reihe des Linux-Magazins und durch mehrere Bücher, für uns einen Workshop zum Thema Linux-Kernel-Programmierung hält. Er wird hierbei nach einer allgemeinen Einführung insbesondere die Entwicklung von Treibern behandeln.

Der Workshop findet statt am Samstag, dem 11. Juli 2009 im Raum 242 IM. Beginn ist um 9:30 Uhr, insgesamt wird es 4 Stunden plus Pausen dauern.

Bitte bringt euer Notebook mit den Kernel-Build-Tools (s.u.) und wenn möglich eine Steckerleiste.

Professor Quade empfiehlt übrigens Kubuntu.

Programm

09:30 - 09:45 Uhr: Begrüßung

09:45 - 11:00 Uhr: Einführung in den Linux-Kernel

11:15 - 12:30 Uhr: Treiberprogrammierung I (Hands on)

12:30 - 13:45 Uhr: Mittagspause

13:45 - 15:00 Uhr: Treiberprogrammierung II (Hands on)

Kernel-Build-Tools installieren

Damit ihr auf eurem mitgebrachten Notebook alles gleich ausprobieren könnt, benötigt ihr die entsprechende Software (GCC, Make, etc.) und die Header-Files des Linux-Kernel. Unter Ubuntu installiert dazu einfach die Pakete "build-essential" und "linux-source".

Die Kernel-Header müssen exakt die gleiche Version haben wie der aktuell laufende Kernel. Dessen Version erfahrt ihr mit "uname -r" auf der Kommandozeile.

Zum Überprüfen, ob alles klappt, ladet euch dieses Dummy Modul herunter, entpackt das Archiv und führt auf der Kommandozeile das Skript "./build.sh" aus. Das kompiliert ein Hello-World-Modul. Mit "sudo insmod hello.ko" könnt ihr es in den Kernel laden, "dmesg|grep Hello" zeigt an, ob alles funktioniert hat. Mit "sudo rmmod hello" könnt ihr es wieder entladen.