[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ next ]


Debian Linux Kernel Handbook
Chapter 2 - Debian kernel source


2.1 Changes to the pristine kernel source

The kernels in Debian are distributed in binary form, built from the Debian kernel source. It is important to recognize that Debian kernel source may be (and in most cases is) different from the upstream (or "pristine") kernel source, distributed from www.kernel.org and its mirrors. Due to licensing restrictions, unclear license information, or failure to comply with the Debian Free Software Guidelines (DFSG), parts of the kernel are removed in order to distribute the source in the main section of the Debian archive. The removal procedure is typically performed by a prune-non-free script, available in the Debian kernel SVN repository [1] and producing the linux-major_version.orig.tar.gz tarball, which serves as the original upstream source. major is the kernel major version (like 2.6) and version is the actual upstream version. The guidelines for the driver removals for Etch release have been set by the Handling source-less firmware in the Linux kernel General Resolution and the position statement by the Etch release managers. Additional information about removed and questionable drivers may be found at the Debian Wiki page KernelFirmwareLicensing.


2.2 Debian kernel patches

The source from which the Debian binary kernels are built is obtained by taking the source from linux-major_version.orig.tar.gz (that is, pristine kernel source, processed by the prune-non-free script) and applying a set of Debian patches. These patches typically implement essential fixes for serious bugs and security holes. The Debian version of the kernel packages has the form version-revision where version is the upstream version of the kernel (like 2.6.18) and revision determines the patchlevel. For example, the packages with version 2.6.18-3 are built from the linux-2.6_2.6.18.orig.tar.gz source, patched up to patchlevel 3. Additionally, some architectures require architecture-specific patches for the kernel to build and operate. Certain flavors of the kernel include patches to implement the desired functionality, such as xen and vserver.

All the patches used in the process of building of the Debian official kernel packages are shipped as a part of linux-patch-debian-version package. See its description in Architecture-independent packages, Section 3.2 for more information about the patch system.


2.3 Policy for patch acceptance

The goal of the Debian kernel team is to keep the difference between the Debian kernel source and the "pristine" kernel source to a minimum. That typically means that only the patches fixing security holes and serious kernel bugs are considered for the inclusion in the Debian kernel source. The recommended procedure for inclusion of patches introducing optional features is to package them as separate patch packages, or to convince the upstream maintainer to include them in the next kernel release.


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ next ]


Debian Linux Kernel Handbook

version 1.0.1, Wed Jan 24 21:46:35 PST 2007

The Debian Kernel Handbook Project