[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 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. Such removal produces linux-2.6_version.orig.tar.gz tarball, which serves as the original upstream source. version is the actual upstream version. For the details on how the removal is implemented, see the description of linux-patch-debian package in Architecture-independent packages, Section 3.2.

The guidelines for firmware removal were set by the Handling source-less firmware in the Linux kernel General Resolution and the position statement by the release managers. Even though these documents originally applied to the Etch release, there were no significant changes in the removal policy, so they were in effect for the Lenny release as well. As of version 2.6.31-1, all known sourceless firmware has been removed from the Debian package. Additional information about firmware licensing and removals 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-2.6_version.orig.tar.gz (that is, pristine kernel source with problematic parts removed) 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.26) and revision determines the patchlevel. For example, the packages with version 2.6.26-2 are built from the linux-2.6_2.6.26.orig.tar.gz source, patched up to patchlevel 2. Certain packages include extra 'featuresets' not included in the upstream source, such as xen and openvz.

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 general policy of the Debian kernel team is that a patch must either fix a bug or add hardware support, and must be based on a change already accepted by the upstream kernel maintainers. The change does not need to have been included in an upstream release yet. This policy allows the team to drop most patches when moving to a new upstream version, rather than having to maintain an increasing series of Debian-specific patches. The recommended procedure for inclusion of patches introducing optional features is to submit to the upstream maintainer.


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


Debian Linux Kernel Handbook

version 1.0.11, Fri Jul 1 05:01:39 BST 2011

The Debian Kernel Handbook Project