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

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

Learn how to become a Linux kernel developer and contributor with this free training course.

Who Is It For

This course is intended for developers who need to know about the Linux kernel development process and the explicit and implicit “rules of the road”.
read less read more
What You’ll Learn

Through this course you will learn how to select and configure your development system, about Linux Kernel repositories and releases, Git basics including checking out kernel repositories and working with them, how to build and install a kernel, Linux kernel enforcement standards, how to write kernel patches and test them, how to communicate with the kernel community, how to send patches, how to act on feedback from reviewers and more.
read less read more
What It Prepares You For

This course will prepare you to configure a development system, use git, write kernel patches, test patches, write commit logs, send patches, and work with the Linux kernel community.
read less read more
Course Outline
Chapter 1. Course Introduction
Chapter 2. Linux Kernel Development Process
Chapter 3. Patches
Chapter 4. Working with the Linux Kernel Community
Chapter 5. Configuring Your Development System
Chapter 6. Exploring Linux Kernel Sources
Chapter 7. Building and Installing Your First Kernel
Chapter 8. Writing Your First Kernel Patch
Chapter 9. Getting Your Patch Ready and Sending It
Chapter 10. Kernel and Driver Building, Loading and Dependencies
Chapter 11. All About Testing
Chapter 12. Debugging Basics
Chapter 13. Tips to Continue Your Kernel Journey
Chapter 14. Frequently Asked Questions

Prerequisites
To make the most of this course you will need to be:

  • Proficient in C and Shell.
  • Kernel development experience desired (not required)
Reviews
Sep 2024
The course offered a great introduction to Linux Kernel Development. I especially liked that it was not really about programming, but rather that it explained the whole development process.
Jun 2024
I liked the content of the course, and the clear directions from the author. The instructions were written in very easy language that can help to navigate through the course very easily. Quiz tests are the best way to vet your understanding on a topic I feel. I'm very happy to compile, install and create a patch for the very first time. Thanks to the Linux Foundation.
May 2024
This course provided easy to do hands-on assignments, as well as the documentation, and was also explained well. I am getting a certificate, so it's great!
Apr 2024
This course provided a great start for getting into kernel development. I will likely be referencing the material occasionally as I start contributing to the Linux Kernel.
Mar 2024
The content was great, and applicable!
Mar 2024
This course gave a good overall knowledge to start contributing to Linux Kernel.
Feb 2024
Step-by-step instructions, and detailed explanations of complex things.
Feb 2024
I've learned the whole pipeline of tasks, from starting the code change to creating a patch, and these nitty-gritty tasks stop beginners from contributing to the open source community. This course made the pipeline clear.
Feb 2024
The hand-holding from early on, to becoming more and more independent later in the course, was a great design choice.
Feb 2024
I loved how this course dove straight into demystifying the development and contribution process, without too much information overload. I also loved the pro tips for efficiency, and the reasoning behind them.
Feb 2024
I thought it was a pretty helpful introduction, it gave a clear pathway toward creating my first commit. Thanks!
Jan 2024
It allows a complete beginner to access and have a chance at learning a very difficult topic, while being easy to approach and easily accessible.
Jan 2024
In two days I could build a kernel and run it on my machine, also I understood the kernel development process, and I learned about many tools. So at the end of the course I am really happy with how the content helped me to understand the concepts, and apply them to my environment. This course is amazing.
Aug 2023
I liked the usage of kernel scripts and tools, as well as the sections about debugging and tracing.
Aug 2023
Covered everything that I expected it would cover at the suitable technical level, which is rare for a "beginners" course, as it is usually oversimplified.
Jul 2023
I liked the explanation of the Linux system from scratch; easy to understand for beginners.
Jun 2023
I liked the straightforwardness of the content, and the external links given in each chapter for self exploration.
May 2023
What's great is that the author is a practitioner in the field she teaches. You can see a tremendous amount of freedom in discussing particular issues.