[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ next ]
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.
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.
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