Course: Linux Kernel and Driver DevelopmentLX-KERNEL

The course is available on demand.

Remote training: online live with a trainer and a group. Available on demand, at time and place convenient to you, for groups of at least 5 participants.

4.6/5 (125)
Stars
exempt from VAT

Price: 1190 EUR

refreshments included

computer station included

Category: Linux programming, shell, C, kernel, embedded

An advanced training for programmers who wish to begin Linux kernel development (especially writing device drivers). During the course participants create drivers for real and emulated hardware and learn both theory and best practices of working with Linux kernel code. We also discuss the communication mechanisms between the driver and the applications and their limitations.

After the training: the participants will be able to start writing device drivers for Linux kernel on their own.

Duration

3 days

Agenda

  1. Introduction to the Linux kernel
  2. The source code
    • managing the source code
    • how is the source code organized
    • kernel development environment
  3. Kernel configuration and compilation
    • booting the kernel
    • the boot process: the whole system and the kernel itself
    • kernel-side boot optimization
  4. Interfaces provided by the kernel
    • /proc, /sys, sysctl,
    • user-space view of the drivers
  5. Kernel modules
    • managing modules-tools for modules service
    • creating kernel modules (Makefile and Kconfig files)
  6. Hardware managing
    • creating Linux device drivers
    • the model of managing devices in Linux system
    • hotplug mechanisms on kernel and application side
    • character devices
    • block devices
    • syscalls (open, read, write, ioctl etc.)
    • memory allocation
    • interrupt handling
    • concurrency, locking, preemption
  7. Kernel debugging techniques
  8. Documentation and cooperation
    • using documentation and information available on the Internet,
    • working with the kernel developers’ community
    • introduction to working with Git revision control system.

On demand, we can prepare a customized training, including specific interface or interfaces suggested by the Client. In such cases we often suggest prolonging the training (typically making it last 3 days).

Download as PDF

Audience and prerequisites

Participants should be fairly fluent in C programming and they should be familiar with using the Linux terminal.

Certificates

Course participants receive completion certificates signed by ALX.

There are currently no entries
Enter your e-mail address and we will notify you about future dates