Embedded Linux Kernel and Driver Development

Seminarinformationen

Seminar - Ziel

In dieser 5-tägigen Schulung "Embedded Linux Kernel and Driver Development" lernen Sie den Einsatz von Kconfig und die Erstellung sowie das Laden und Testen von Kernel-Modulen. Das Debugging wird anhand von printk und Derivaten, dmesg sowie der Verwendung von GDB mit Qemu behandelt. Sie erhalten einen umfassenden Einblick in die Funktionsweise von Kernel-Treibern, das Inspektionsverfahren mit procfs (alt) und sysfs (neu) sowie System Calls. Des Weiteren lernen Sie die Handhabung von Character-, Block- und Net-Devices sowie die Datei-Schnittstelle via Device-Nodes kennen.

Die Speicherverwaltung umfasst den virtuellen und physikalischen Adressraum, die Memory-Management-Unit (MMU) und das Speicherschutzkonzept. Sie lernen den Aufbau des Kernel-Speichers und den Datenaustausch zwischen Userspace-Kernel und Memory-Mapping kennen. Der Zugriff auf Hardware wird anhand von IO-Ports und IO-Memory sowie Interrupts erläutert. Das Scheduling und SMP beinhaltet die Definition von 'sleep', Aufgaben des Kernel-Timers, Tasklets, Workqueues und Kernel-Threads sowie die Synchronisierung mit Spinlock und Mutex.

Abschließend werden Upstreaming-Themen wie Code-Style, die Zusammenarbeit mit der Community und mögliche Lizenzmodelle behandelt. Nach Abschluss des Kurses sind Sie in der Lage, das Kernel-Build-System zu nutzen, Kernel-Treiber zu erstellen und zu verwalten, die Speicherverwaltung zu verstehen und auf Hardware zuzugreifen. Zudem werden Sie mit den Grundlagen des Schedulings und SMP vertraut und wissen, wie Sie effektiv mit der Community zusammenarbeiten können.

Teilnehmer - Zielgruppe

  • Linux-Programmierer

Kurs - Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

  • Kenntnisse in der Linux-Systemprogrammierung
  • Fundierte Kenntnisse in der C-Programmierung

Seminardauer

  • 5 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Kernel-Build-System

  • Kconfig
  • Module bauen, laden, testen

Debugging

  • printk und Derivate, dmesg
  • console/earlycon
  • GDB mit Qemu

Gerätetreiber

  • Aufbau und Funktionsweise von Kernel-Treibern
  • Inspektion: procfs (alt) und sysfs (neu)
  • System Calls
  • Character-, Block- und Net-Devices
  • Datei-Schnittstelle via Device-Nodes
  • Modul-Parameterisierung

Speicher-Verwaltung

  • Virtueller und physikalischer Adressraum
  • Memory-Management-Unit (MMU), Speicherschutzkonzept
  • Aufbau des Kernel-Speichers
  • Datenaustausch: Userspace-Kernel, Memory-Mapping

Zugriff auf Hardware

  • IO-Ports und IO-Memory
  • Interrupts

Scheduling und SMP

  • Sleep: Was heißt 'sleep' und wann ist es erlaubt?
  • Tasks: Kernel-Timer, Tasklet, Workqueue, Kernel-Thread
  • Synchronisierung: Spinlock, Mutex

Upstreaming

  • Code-Style
  • Kooperation mit der Community
  • Mögliche Lizenzmodelle

Weitere Schulungen zu Thema Linux

Linux Cluster Hochverfügbarkeit und Load Balancing

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In dieser 3-tägigen Schulung "Linux Cluster Hochverfügbarkeit und Load Balancing" lernen Sie, wie Sie High Availability / Hochverfügbarkeits-Cluster installieren, konfigurieren und administrieren können. Sie werden verschiedene Clusterlösungen kennenlernen, die ...

VPN Lösung mit Linux

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In dieser 2-tägigen Schulung "VPN Lösung mit Linux" lernen Sie, mehrere Standorte sicher miteinander zu vernetzen oder Außendienstmitarbeiter und Telearbeitsplätze an Ihr Unternehmensnetzwerk anzuschließen. Dabei setzen Sie den Standard IPsec ein und erwerben die ...

Linux Crashkurs - Linux von 0 auf 100%

- u.a. in Bremen, Stuttgart, Düsseldorf, Offenbach, Freiburg

In dieser 5-tägigen Schulung "Linux Crashkurs - Linux von 0 auf 100%" lernen Sie fundierte Kenntnisse und praktische Fähigkeiten in verschiedenen Aspekten von Linux. Die Schulung bietet eine umfassende Einführung in die Welt von Linux, angefangen von der Übersicht ...

Exim Vertiefung - Mailserver

- u.a. in Köln, Nürnberg, Dresden, Offenbach, Freiburg

In dieser 3-tägigen Schulung "Exim Vertiefung - Mailserver" lernen Sie, die Komponenten eines vollständigen Unternehmens-Mailserver bzw. Hosting-Mailservers unter Linux effizient zu administrieren. Der Kurs umfasst die Konfiguration der Softwarepakete Cyrus, Exim, ...