Linux Kernelprogrammierung - Somersemester 2012 - HS Ravensburg-Weingarten TOPICS: ======= Organisatorisch ^^^^^^^^^^^^^^^ - Linuxtag TXT ^^^ - Linux News Slides ^^^^^^ - Dateisysteme - Flash Devices - UBI - Boot Prozess - Dateisystem erzeugen - UDEV web ^^^ - Beagle Board Boot Configuration (Grafiken, Schaltplan) Tafel ^^^^^ Komponentenliste erstellen (x-loader, u-boot, Kernel, RFS1, RFS2) Was auf welches Medium / Partition Board Bringup ^^^^^^^^^^^^^ - Komponenten erzeugen und Flashen Linuxtag: ========= Mi 23. - Sa 26. Mai Messe Berlin http://www.winters-hotel-berlin-city-messe.de/ Uebernachtung ca. 100 pro Person Nach Berlin mit Nachtzug ab Dienstag Abend ca. 21 Uhr Zurueck Sonntag Nachmittag ~100 EUR pro Person Eintritt: Sponsoren Zuschuss durch Studiengebuehren, Erfahrungsgemaess ca. 20%. --> Kosten ca. 180 EUR + Verpflegung und Nahverkehr in Berlin LWN - summary: ============== 30.03.2012: ^^^^^^^^^^^ Long Term Kernel: 2.6.27.62, 2.6.32.59 Stable Kernel: 3.0.26, 3.1.10, 3.2.13 Mainline: 3.3 released on March 18th - byte queue limits - Open vSwitch - Network priority cgroup (Documentation/cgroups/net_prio.txt) - return of Android code into staging subtree - TI C6X arch support (DSP architecture - see https://lwn.net/Articles/457635/) - EFI boot support - Drivers for a more complete list see (http://kernelnewbies.org/Linux_3.3) Devel: 3.4 merge window is open - moved 'telephony' into staging - qnx6fs (readonly) - perf improvements - USB audio gadget - deferred driver probing - Remote Processor Framework (see Documentation/remoteproc.txt | rpmsg.txt) - more cleanup/consolidation on ARM linux-next Prüfung: ======== schriftlich, 60 Minuten Material: ========= http://manut.eu/hswgt Script: ======= Mitschriebe gerne an manut@mecka.net Literatur: ========== http://lwn.net http://heise.de/open <-- Kernel Log http://kernelnewbies.org http://beagleboard.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) Bewertung: ========== http://www.meinprof.de/uni/prof/51131 geplante Themen: ================ Termin1: what is linux: ------------------------ 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 build, bootloader, MTD: --------------------------------------- Board Bringup: - Bootloader - grub vs. IPL vs. u-boot Kernel: - Kernel konfigurieren - Kernel kompilieren (auch cross) - Kernel Dokumentation Userspace: - RFS generieren - busybox / cross - read only RFS - 'kein' RFS vs. full-featured Debian Praxis: Board Bringup Termin3: -------- Datenuebergabe zwischen Userspace und Kernel Kernelarchitektur: - Core - Driver - Arch - Coding Style Kernelmodule: - 1. Kernelmodul 'Hello world' registrieren bei Subsystemen: - char dev Tracing Termin4: -------- Kernelkonzepte: Review eines Treibers: - IRQ Handling - MM - Timer UIO: - UIO am Beispiel Termin 5 & 6: ------------- Kernelprogrammierung an einem Beispiel Termin 7: --------- Maintainer Vortrag & Questioning Pruefungsvorbereitung weitere Termine: ================ 12.3 Vorlesungsbeginn 4.4 - 11.4 Ostern 18.5 Blutfreitag 25.5 - 04.6 Pfingsten => 12 Vorlesungsfreitage -> 14 taegig = 6 Veranstaltungen: Vorschlag zur Terminplanung 30.3 - 1. Vorlesung 13.4 - 2. Vorlesung 20.4 - 3. Vorlesung 27.4 - 4. Vorlesung 4.5 - 5. Vorlesung 11.5 - 6. Vorlesung 18.5 - Brueckentag (Christi Himmelfahrt) 8.6 - Brueckentag (Christi Himmelfahrt) 15.6 22.6 29.6 - Vortrag von einem Kernelentwickler + Pruefungsvorbereitung (freiwillig)