<chapt id="source">
  <heading>Debian kernel source</heading>
  <sect id="changes">
    <heading>Changes to the pristine kernel source</heading>
    <p>

      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 <url id="http://www.kernel.org" name="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 <tt>main</tt> section of the Debian
      archive. Such removal produces
      <tt>linux_<em>version</em>.orig.tar.xz</tt> tarball, which
      serves as the original upstream source. <em>version</em>
      is the actual upstream version.

    </p>

    <p>
      The guidelines for firmware removal were set by the <url
      id="http://www.debian.org/vote/2006/vote_007" name="Handling
      source-less firmware in the Linux kernel"> General Resolution
      and the <url
      id="http://lists.debian.org/debian-kernel/2006/10/msg00541.html"
      name="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, but much
      of it is included in the
      <url id="http://packages.debian.org/source/firmware-nonfree" name="firmware-nonfree"> package.
      Additional information about firmware licensing and removals
      may be found at the
      <url id="http://wiki.debian.org" name="Debian Wiki"> page <url
      id="http://wiki.debian.org/KernelFirmwareLicensing"
      name="KernelFirmwareLicensing">.

    </p>
  </sect>
  <sect id="patches">
    <heading>Debian kernel patches</heading>
    <p>

      The source from which the Debian binary kernels are built is
      obtained by taking the source from
      <tt>linux_<em>version</em>.orig.tar.xz</tt> (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 <tt><em>version-revision</em></tt>
      where <tt><em>version</em></tt> is the upstream version of the
      kernel (like 3.2.20) and <tt><em>revision</em></tt> determines
      the patchlevel. For example, the packages with version 3.2.20-1
      are built from the <tt>linux_3.2.20.orig.tar.xz</tt> source,
      patched up to patchlevel 1. Certain packages include extra
      'featuresets' not included in the upstream source, such as
      <tt>rt</tt>.

    </p>
  </sect>
  <sect id="acceptance">
    <heading>Policy for patch acceptance</heading>
    <p>
      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.
    </p>
  </sect>
</chapt>
