Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Foundations of Linux Kernel Development

Packt via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off
One plan covers every Professional Certificate on Coursera.
Unlock All Certificates
This course provides foundational skills in Linux kernel programming, focusing on kernel architecture, source code management, and module development. Learners gain practical insight into how the Linux kernel operates and why kernel-level programming is critical in systems development and embedded environments. Participants will build the Linux 6.x kernel from source, configure development environments, and create basic kernel modules through guided exercises. The course strengthens practical skills in kernel compilation, module management, and secure development workflows used in real-world Linux systems. What makes this course unique is its balance of conceptual understanding and hands-on implementation. Practical walkthroughs and real-world examples help learners confidently navigate kernel programming tasks and development processes. This course is ideal for Linux developers, system programmers, and technology professionals interested in kernel development. Basic familiarity with Linux command-line usage and C programming is recommended. Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you. This course is part one of a three-course Specialization designed to provide a comprehensive learning pathway in this subject area. While it delivers standalone value and practical skills, learners seeking a more integrated and in-depth progression may benefit from completing the full Specialization.

Syllabus

  • Linux Kernel Programming – A Quick Introduction
    • This module introduces the fundamentals of Linux kernel module (LKM) development, focusing on practical skills in kernel memory management and synchronization. Learners will gain hands-on experience using the 6.1 LTS kernel, preparing them for real-world kernel programming tasks.
  • Building the 6.x Linux Kernel from Source - Part 1
    • This module guides learners through the foundational steps of building the 6.x Linux kernel from source, including exploring the kernel source tree, understanding the development workflow, and configuring the kernel using Kconfig and menuconfig tools. Participants will gain hands-on experience with kernel configuration, customization, and the use of modern approaches like device trees and localmodconfig. By the end, learners will be equipped to tailor kernel builds for specific system requirements.
  • Building the 6.x Linux Kernel from Source - Part 2
    • This module guides learners through the advanced steps of building and installing the 6.x Linux kernel, including handling certificate configuration issues, installing kernel modules, generating initramfs images, and configuring the GRUB bootloader. Learners will also explore the boot process, cross-compilation for embedded systems, and best practices for verifying and troubleshooting kernel builds.
  • Writing Your First Kernel Module - Part 1
    • This module introduces the fundamentals of Linux kernel modules, guiding learners through writing, building, and managing modules using C and Makefiles. Learners will explore kernel logging with printk, understand log levels, and practice essential operations such as loading and unloading modules. Practical exercises reinforce key concepts in kernel space programming and debugging techniques.
  • Writing Your First Kernel Module - Part 2
    • This module guides learners through advanced kernel module development, including cross-compiling for ARM, managing Makefiles, handling module parameters, and ensuring ABI compatibility. It also covers best practices for debugging, security, module stacking, and cryptographic signing to enhance both functionality and safety of Linux kernel modules.

Taught by

Packt - Course Instructors

Reviews

Start your review of Foundations of Linux Kernel Development

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.