Dive into the core of Linux. Learn to write Loadable Kernel Modules (LKMs), device drivers, and debug kernel space code.
The Linux Kernel is the most complex open source project in history. This course teaches you to modify and extend it. You will learn the difference between User Space and Kernel Space. Write your first Loadable Kernel Module (LKM) and Character Device Driver. We explore kernel synchronization (Spinlocks, Semaphores), memory allocation (kmalloc/vmalloc), and interrupt handling. You will also learn to compile custom kernels and debug crashes using QEMU and GDB.
Estimated completion time: 21 lessons • Self-paced learning • Lifetime access
Yes, a bug here crashes the whole machine.
We use QEMU VMs to prevent crashing your PC.
Yes, Linux is C (with some Assembly/Rust).
Teaches skills needed to contribute upstream.