Linux Kernel Modules (LFWS308)

Course code: LFWS308

Develop the expertise required to work confidently inside the Linux kernel. Learn how to safely build, load, and manage kernel modules. This course builds the skills essential for engineers responsible for drivers, low-level services, and maintaining stable, high-performance Linux systems.

945 EUR

1 143 EUR including VAT

Selection of dates
onas
Do you have a question?
+420 731 175 867 edu@edutrainings.cz

Professional
and certified lecturers

Internationally
recognized certifications

Wide range of technical
and soft skills courses

Great customer
service

Making courses
exactly to measure your needs

Course dates

Starting date: Upon request

Type: In-person/Virtual

Course duration: 1 day

Language: en/cz

Price without VAT: 945 EUR

Register

Starting
date
Place
Type Course
duration
Language Price without VAT
Upon request In-person/Virtual 1 day en/cz 945 EUR Register
G Guaranteed course

Didn't find a suitable date?

Write to us about listing an alternative tailor-made date.

Contact

Course description

Understand how Linux kernel modules work and when they’re the right solution in production systems. Examine kernel vs. user space, required module entry points, and gain hands-on experience building, signing, loading, debugging, and interacting with custom kernel modules.

Prepare for advanced Linux system roles where kernel-level work is part of the job. Equip yourself to build and manage kernel modules safely, supporting drivers and low-level services in production environments where stability and uptime matter.

Target group

For system and software developers who want to move beyond user space and work directly with the Linux kernel, building loadable modules for drivers, low-level services, and other system-level software.

Course structure

Course Introduction
Kernel Overview
Kernel vs. user mode execution and privilege levels
Virtual memory management and address space separation
Process scheduling and context switching
System call interface and syscall flow from user → kernel → user
Monolithic vs. microkernel architecture concepts and Linux’s hybrid approach
Kernel Module Overview
Kernel modules defined as loadable units of kernel functionality
Typical use cases: drivers, filesystems, network stack components, instrumentation
Benefits of modules: flexibility, reduced kernel size, dynamic updates
Risks and security concerns: kernel trust, module signing, tainting
Module lifecycle: loading, running, unloading, debugging
Building a Kernel Module
Structure of a basic module: init, exit, exported symbols
Writing a Makefile and using Linux’s module build system (Kbuild)
Using module utilities: insmod, rmmod, modprobe, lsmod
Using dmesg and kernel logs for debugging and validation
Understanding kernel headers and version compatibility
Interacting with a Kernel Module
User-space to kernel-space communication strategies
Using procfs for simple reporting, parameter passing and text-based interfaces
Using sysfs attribute files for structured configuration and control
Implementing ioctl interfaces for richer binary/structured interactions
Character devices and miscdevice as common pathways for module I/O
ComGate payment gateway MasterCard Logo Visa logo