A Beginner’s Guide to Linux Kernel Development (LFD103)

Learn how to become a Linux kernel developer and contributor.

Course Overview

This free course introduces developers to the Linux kernel development process and teaches the explicit and implicit “rules of the road”. It covers configuring a development system, git basics, writing kernel patches, testing patches, writing commit logs, sending patches, and working on feedback from the kernel community.

What you’ll learn:

  • Select and configure your development system
  • Overview of Linux Kernel repositories and releases
  • Git basics – checking out kernel repositories and working with them
  • Build your first kernel and install it
  • Linux kernel Contributor Covenant Code of Conduct
  • Linux Kernel Enforcement Statement
  • Write kernel patches and test them
  • How to communicate with the kernel community (do’s and don’ts)
  • Who and how to send patches (checkpatch.pl and get_maintainers.pl)
  • Re-work patches and act on feedback from reviewers.

Course Outline

Ch 1. Course Introduction
Ch 2. Linux Kernel Development Process
Ch 3. Patches
Ch 4. Working with the Linux Kernel Community
Ch 5. Configuring Your Development System
Ch 6. Exploring Linux Kernel Sources
Ch 7. Building and Installing Your First Kernel
Ch 8. Writing Your First Kernel Patch
Ch 9. Getting Your Patch Ready and Sending It
Ch 10. Kernel and Driver Building, Loading and Dependencies
Ch 11. All About Testing
Ch 12. Tips to Continue Your Kernel Journey


  • Proficient in C and Shell
  • Kernel development experience desired (not required)


The detail covered about the process is a lot to take in, but it has been explained well.”  May 2020


It got me more interested to progress with Kernel development. It made it a more achievable goal for me.”  Apr 2020


“I really liked that it explains the ins and outs of the workflow, how to make changes, who to address the changes to, and how to interact in the whole process.”  Mar 2020


The course is very good for beginners like me. It teaches you everything starting right from the basics.”  Mar 2020


Everything is clear and all the steps required to contribute are explained in a single document. I should have found out about it earlier!”  Mar 2020


This course gave me the entire exposure to the kernel development process,  and the course slides were very generous in providing external link to the official documentations.”  Jan 2020


It is a nice introduction to kernel development and gives you the essential elements to start contributing to the Linux kernel.”  Dec 2019


Course is nicely designed for a newbie to understand how the community works on Linux kernel development.”  Dec 2019


It’s a very practical and useful guide to getting started. The process itself can seem daunting and this course makes it more digestible and approachable.”  Oct 2019

At a Glance

Delivery Method

Self-Paced Online (Virtual)


  • 12-16 hours of Course Material
  • No Video Content
  • 12 Months of Access to Online Course
  • Digital Badge
  • Discussion Forum

Experience Level


Course Rating