1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
<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>
|