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 2021
A short and crisp way to explain everything in detail. Now I am looking forward to getting started, to learn internals and make major contributions.
Sep 2021
Kernel development is a scary topic, but this course drives you through the process nicely.
Aug 2021
I like the fact that it provides info on almost all aspects of the kernel, like debugging and building. I also learnt different ways to contribute to the kernel, like writing kselftest tests, documentation, etc.
Aug 2021
I think the "best practices to send patches" are truly valuable. It summarizes the social aspects I've learned very well, by working with the kernel community. Thank you for putting all that advice together.
Jul 2021
Thanks to this course (and Greg's talk "Write and submit your first kernel patch"), I managed to test the 5.12 RC kernel, and submit a patch to fix a NULL pointer error. A *very* humble contribution, but possibly thanks to you and the knowledge acquired in this course.
May 2021
I liked the content of the course as a beginner. The course has touched all the aspects of Kernel Development Process, and made it clear how I can contribute to the process. It also includes various links to useful sites, which are important in order to know the process of development.
May 2021
I liked that it walked us through technical steps, such as compiling and installing the kernel, and creating a patch.
May 2021
The relation to real life problems rather than some jargon was very helpful in the course. The very fact that this course exists, and is offered by LF itself, is something I love about it. I got to learn so much about the insides of the kernel.
Apr 2021
It is very well documented, and practically holds your hand during the set-up process. Thank you, course creators.