courses take place here
Open Source Training: (gleicher Kurs auf deutsch)

LFD430 Developing Linux Device Drivers

This course will teach you how to develop device drivers for Linux systems, grounded with a basic familiarity and understanding of the underlying Linux kernel.

You’ll learn:

The information in this course will work with any major Linux distribution.

Price

4 days, 2,466.00 € + 19% vat = 2,934.54 €

Full eight clock hours per day, complete set of literature, WiFi, complimentary notebook, full board, drinks (selected wines are charged separately), pastries, homemade cakes, sauna, social program

Extended/reduced amenities on demand:

Surcharge per guest night in two bed rooms (spacious and comfortable rooms) 59.00 € + 7% vat = 63.13 €per night
Surcharge per guest night in the Linuxhotel-flat share 83.00 € + 7% vat = 88.81 €per night
Surcharge per guest night in single rooms (depending on availabity, early reservation recommended) 129.00 € + 7% vat = 138.03 €per night
Reduction for half board instead of full board accomodation -29.41 € + 19% vat = -35.00 €per day
Reduction w/o social program -8.40 € + 19% vat = -10.00 €per evening

Tax deductibility * Terms of cancellation

Schedules/Reservations

Please select your favourite reservation date

prerequisites for attending

This course is designed for anyone interested in learning how to write device drivers for Linux. Students should be proficient in the C programming language and be familiar with basic Linux utilities and text editors.

Knowledge of basic kernel interfaces and methods such as how to write, compile, load and unload modules, use synchronization primitives, and the basics of memory allocation and management, such as is provided by LFD420. Pre-class preparation material will be provided before class.

If you feel uncertain on this point, we look forward to assist you via email or phone.

Course contents

  1. Introduction
  2. Preliminaries
  3. Device Drivers
  4. Modules and Device Drivers
  5. Memory Management and Allocation
  6. Character Devices
  7. Kernel Features
  8. Transferring Between User and Kernel Space
  9. Interrupts and Exceptions
  10. Timing Measurements
  11. Kernel Timers
  12. ioctls
  13. Unified Device Model and sysfs
  14. Firmware
  15. Sleeping and Wait Queues
  16. Interrupt Handling: Deferrable Functions and User Drivers
  17. Hardware I/O
  18. PCI
  19. Platform Drivers**
  20. Device Trees**
  21. Direct Memory Access (DMA)
  22. Network Drivers I: Basics
  23. Network Drivers II: Data Structures
  24. Network Drivers III: Transmission and Reception
  25. Network Drivers IV: Selected Topics
  26. USB Drivers
  27. Power Management
  28. Block Drivers

** These sections may be considered in part or in whole as optional. They contain either background reference material, specialized topics, or advanced subjects. The instructor may choose to cover or not cover them depending on classroom experience and time constraints.

Course schedule