Linux Kernelprogrammierung - Sommersemester 2015 ================================================ Manuel Traut Organisatorisch --------------- Termine: ~~~~~~~~ * 15.3. * 13.4. * 20.4. * 27.4. * 4.5. * 11.5. * 18.5. * evt. 29.6. Prüfung: ~~~~~~~~ schriftlich, 60 Minuten Hilfsmittel: handschriftliche Mitschriebe Material: ~~~~~~~~~ http://mecka.net/hswgt Script: ~~~~~~~ Mitschriebe gerne an manut@mecka.net Literatur: ~~~~~~~~~~ http://lwn.net http://heise.de/open <- Kernel Log http://kernelnewbies.org Corbet, Rubini, Kroah-Hartmann: Linux Device Drivers 3rd Edition http://lwn.net/Kernel/LDD3 Kroah-Hartmann: Linux Kernel In A Nutshell http://www.kroah.com/lkn Bovet, Cesati: Understanding The Linux Kernel (34,95) Love: Linux Kernel Development (29,95 EUR) Film: ~~~~~ http://www.youtube.com/watch?v=YqqkdgE8RpM Bewertung: ~~~~~~~~~~ http://www.meinprof.de/uni/prof/51131 Exkursion: ~~~~~~~~~~ 21. - 22.3. 2015: http://chemnitzer.linux-tage.de/ geplante Themen: ---------------- Termin1 ~~~~~~~ - Voraussetzungen fuer Linux - Linux Desktop vs. embedded Linux: * Kernel vs. Userspace * Fedora, Debian, ubuntu .. * Android * KDE / GNOME * CPU Architekturen * cross - Kernelentwicklung * Mainline / Maintainer * syscalls (stabil) * interne API (instabil) - Versionskontrolle: * diff / patch * quilt * git Termin2 ~~~~~~~ - Kernel konfigurieren - Kernel kompilieren - Kernel Dokumentation Termin3: ~~~~~~~~ - Datenuebergabe zwischen Userspace und Kernel - Kernelarchitektur * Core * Driver * Arch * Coding Style * Review verschiedener Treiber - Kernelmodule * 1. Kernelmodul 'Hello world' * registrieren bei Subsystemen (char dev) Termin4 ~~~~~~~ - Tracing - UIO Termin 5 & 6 ~~~~~~~~~~~~ - Kernelprogrammierung an einem Beispiel Termin 7 ~~~~~~~~ - Maintainer Vortrag & Questioning - Pruefungsvorbereitung