Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Linux Kernel Development Model and Compilation
Rating: 4.1 out of 5(102 ratings)
5,406 students

Linux Kernel Development Model and Compilation

Understand the Development process of Linux Kernel and install the latest mainline/stable kernel on your PC
Created byLinux Trainer
Last updated 12/2020
English
English [Auto],

What you'll learn

  • How development happens in Linux Kernel
  • Tips while Submitting Patches
  • Various Linux Kernel Trees: Mainline, stable, linux-next
  • Linux Release Process
  • Types of Linux Releases
  • Configuring, Compiling and Installing Linux Kernel from source
  • Various ways to configure Linux Kernel - menuconfig, xconfig, config, oldconfig, savedefconfig

Course content

4 sections37 lectures1h 38m total length
  • Introduction1:47

    Explore how Linux kernel development uses patches for incremental changes, adding features, enhancements, and fixes, with time-based releases every two to three months that are not blocked by new features.

  • Developers Maintainers in Linux Kernel4:17

    Discover how Linux kernel maintainers organize subsystems and drivers, route patches via mailing lists, and use the maintainers file to gate changes into the mainline.

  • What is Linux Kernel Tree and various types of trees3:49

    Explore the Linux kernel tree structure, including mainline, stable, next, and staging trees, and understand how subsystems maintain separate repositories, integration testing, and release processes.

  • Submitting patches2:22

    Submit patches to the Linux kernel mailing list with a subject and attach the patch as text, CC the maintainer. Break changes into patches and explain details in the body.

  • Linux Kernel Release Cycle2:17

    Coordinate the Linux kernel release cycle by having subsystem maintainers collect patches during a two-week window and issue weekly release candidates in bug-fix mode until the three-month version ships.

  • Linux Kernel Chain1:02

    Explore the Linux kernel chain, where subsystem maintainers submit changes through a two-week merge window toward Linus Torvalds. See how integration testing ensures updates don't break the source code.

  • Image of Linux Kernel Release Cycle Part10:52

    Explains the Linux kernel release cycle, from a two-week merge window and weekly bug fixes to mainline stable releases, release candidates, and an eight-week cycle.

  • Image of Linux Kernel Release Cycle Part20:57

    Examine the Linux kernel release cycle, where weekly release candidates lead to a seven-week path to a stable mainline release, with integration testing under Linus Torvalds' maintenance.

  • Types of Releases3:44

    Identify the linux kernel release types, including release candidates, mainline, stable, and long term maintenance, and explain the development cycle, cadence, and update practices.

  • Stable Kernel Release0:57

    Kernel releases transition to a stable status, with weekly fixes and version progression, clarifying stable, long-term, and when updates stop after a new kernel ships.

  • Need for long term kernel release model2:07

    Explore the need for a long term kernel release model to support five years of maintenance for diverse users, including Android devices, mobile phone manufacturers, and other Linux-based systems.

  • Linux Kernel Versions2:27

    Explore the Linux kernel versions page to learn release dates, version numbers, and changelogs for release. See how stable branches and long-term support influence which version a distribution uses.

  • Where to find linux kernel sources1:26

    Discover where to download linux kernel source from dot org, including mainline, stable, and long-term releases; learn to create a folder and fetch the source using the provided command.

  • Distribution Kernels1:30

    Examine how distribution channels and stable governance shape long-term support for Linux distributions like kubuntu, and learn to identify whether your system follows a distribution channel or a mainline.

Requirements

  • Should be able to use various Linux commands: git, make
  • Should have Internet connection and Linux Machine

Description

Update: Added Raspberrypi section on 10/10/20

In this course, you will gain a solid understanding of the Linux Kernel development process and the various roles involved, including developer, maintainer, and sub-maintainer. You’ll explore the different Linux Kernel trees and learn the essential practices to follow when sending patches to the community, ensuring that your contributions follow the accepted guidelines and standards.

We will cover the Linux Kernel release cycle in detail and explain the types of kernel releases, such as mainline, stable, and long-term versions, so you can understand how updates flow through the ecosystem. You’ll also learn how to configure, compile, and install your own Linux kernel from source, giving you hands-on experience in customizing the kernel for specific requirements and hardware.

The course includes comprehensive coverage of kernel configuration techniques, including tools like oldconfig, defconfig, savedefconfig, xconfig, and menuconfig. You will also learn how to cross-compile the Linux kernel for different architectures—an essential skill for embedded systems, IoT devices, and platform development.

In addition, we will demonstrate how to build only specific portions of the Linux kernel, allowing you to focus on targeted components and reduce build time. Throughout the course, you’ll gain practical knowledge, follow real workflows used by kernel developers, and build confidence to contribute effectively to the Linux kernel community.

Who this course is for:

  • Linux Individuals interested in understanding Linux Kernel Release process
  • Linux developers interested in knowing about how to send patches
  • Developers who wants to configure, build and install their own Linux Kernel