Debian Linux Kernel Handbook

version 1.0.19

This handbook is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

A copy of the GNU General Public License is available as /usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or on the World Wide Web at the GNU General Public Licence. You can also obtain it by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Wed Jul 25 03:34:05 UTC 2018


Table of Contents

1. About this handbook
1.1. Scope
1.2. Authors and Contributors
2. Debian kernel source
2.1. Changes to the pristine kernel source
2.2. Debian kernel patches
2.3. Policy for patch acceptance
3. Debian kernel packages
3.1. Source packages
3.2. Architecture-independent packages
3.3. Architecture-dependent packages
4. Common kernel-related tasks
4.1. Obtaining the Debian kernel source
4.2. Rebuilding official Debian kernel packages
4.2.1. Preparation
4.2.2. Simple patching and building
4.2.3. Applying patches or configuration changes
4.2.4. Building many packages
4.2.5. Building packages for one flavour
4.3. Building a development version of the Debian kernel package
4.4. Generating orig tarball from newer upstream
4.5. Building a custom kernel from Debian kernel source
4.6. Building a custom kernel from the "pristine" kernel source
4.7. Building out-of-tree kernel modules
5. Version numbers and ABIs
5.1. The different types of version
5.2. The kernel ABI
5.2.1. The ABI name
5.2.2. Maintaining and updating the ABI
6. Managing the kernel modules
7. Managing the initial ramfs (initramfs) archive
7.1. Initramfs generation tools
7.2. Regenerating the initramfs
7.3. Examining the initramfs contents
8. Package maintainer scripts and hooks
8.1. Kernel hooks
8.2. Kernel hooks required for boot loaders
8.3. Initramfs hooks
8.4. Kernel hooks required for initramfs builders
8.5. Optimising boot loader updates
8.6. Deprecated features
8.7. Initial configuration by the installer
9. Reporting and handling bugs
9.1. Bug handling policy for the kernel team
9.1.1. Required information
9.1.2. Severities
9.1.3. Tagging
9.1.4. Analysis by maintainers
9.1.5. Testing by submitter
9.1.6. Keeping bugs separate
9.1.7. Applying patches
9.1.8. Talking to submitters
9.2. Filing a bug against a kernel package
9.2.1. Bisecting (finding the upstream version that introduced a bug)