r3612 - trunk/docs/handbook
Jurij Smakov
jurij-guest at costa.debian.org
Sun Jul 24 00:31:23 UTC 2005
Author: jurij-guest
Date: 2005-07-24 00:31:22 +0000 (Sun, 24 Jul 2005)
New Revision: 3612
Modified:
trunk/docs/handbook/kernel-handbook.sgml
Log:
Update information to reflect the correct
names of the packages, expand some sections.
Modified: trunk/docs/handbook/kernel-handbook.sgml
===================================================================
--- trunk/docs/handbook/kernel-handbook.sgml 2005-07-21 16:21:45 UTC (rev 3611)
+++ trunk/docs/handbook/kernel-handbook.sgml 2005-07-24 00:31:22 UTC (rev 3612)
@@ -11,10 +11,6 @@
<author><qref id="authors">The Debian Kernel Mailing List</qref></author>
<version>version &version;, &date;</version>
- <abstract>
- To be added.
- </abstract>
-
<copyright>
<copyrightsummary>
Copyright © 2005 Debian Kernel Team.
@@ -93,23 +89,27 @@
<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 (and in most cases is) different
- from the upstream (or "pristine") kernel source, distributed
- from www.kernel.org and mirrors. Due to licensing
+ that Debian kernel source may (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 must be removed in order to distribute the
- source in the <tt>main</tt> section of the Debian archive. The
- removal procedure is typically performed by a
- <tt>prune-non-free</tt> script, available in the Debian kernel
- SVN repository <footnote>
+ source in the <tt>main</tt> section of the Debian
+ archive. The removal procedure is typically performed by a
+ <tt>prune-non-free</tt> script, available in the Debian
+ kernel SVN repository <footnote>
<tt>svn://svn.debian.org/kernel/trunk/scripts/prune-non-free</tt>
</footnote> and producing the
- <tt>linux-kernel-<em>version</em>.orig.tar.gz</tt> tarball, which
- serves as the original upstream source. The removed parts are
- packaged as <tt>linux-kernel-nonfree-<em>version</em>.orig.tar.gz</tt>,
- which serves as the original tarball for the <tt>linux-kernel-nonfree</tt>
- package.
+ <tt>linux-<em>major</em>_<em>version</em>.orig.tar.gz</tt>
+ tarball, which serves as the original upstream
+ source. <em>major</em> is the kernel major version (like
+ 2.6) and <em>version</em> is the actual upstream version.
+ The removed parts are packaged as
+ <tt>linux-nonfree-<em>major</em>_<em>version</em>.orig.tar.gz</tt>,
+ which serves as the original tarball for the
+ <tt>linux-nonfree</tt> package.
The drivers which are currently removed from the pristine
kernel source and those under consideration are listed on
@@ -124,26 +124,28 @@
<p>
The source from which the Debian binary kernels are built is
obtained by taking the source from
- <tt>linux-kernel-<em>version</em>.orig.tar.gz</tt> (that is,
- pristine kernel source, processed by the
+ <tt>linux-<em>major</em>_<em>version</em>.orig.tar.gz</tt>
+ (that is, pristine kernel source, processed by the
<tt>prune-non-free</tt> script) and applying a set of Debian
- patches. These patches typically implement essential bug and
- security hole fixes. 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 2.6.12) and <tt><em>revision</em></tt>
+ patches. These patches typically implement essential fixes
+ for serious bugs and security hole. 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 2.6.12) and <tt><em>revision</em></tt>
determines the patchlevel. For example, the packages with
version 2.6.12-3 are built from the
- <tt>linux-kernel-2.6.12.orig.tar.gz</tt> source, patched up
- to patchlevel 3. Additionally, some architectures (such as
- HPPA) require additional architecture-specific patches for
- the kernel to build and operate.
+ <tt>linux-2.6_2.6.12.orig.tar.gz</tt> source, patched up to
+ patchlevel 3. Additionally, some architectures (such as
+ HPPA) require architecture-specific patches for the kernel
+ to build and operate.
</p>
<p>
All the patches used in the process of building of the
Debian official kernel packages are shipped as a part of
- <tt>linux-patch-debian</tt> package. See its description in
- <ref id="arch-indep"> for more information about the patch system.
+ <tt>linux-patch-debian-<em>version</em></tt> package. See
+ its description in <ref id="arch-indep"> for more
+ information about the patch system.
</p>
</sect>
<sect id="acceptance">
@@ -164,6 +166,25 @@
<chapt id="packaging">
<heading>Debian kernel packages</heading>
+ <sect id="source-pkg">
+ <heading>Source package</heading>
+ <p>
+ To ensure that the latest kernel version, containing all the
+ essential bug and security fixes is available on as many
+ architectures as possible, starting with 2.6.12 the kernel
+ team introduced a new packaging scheme. In it all the
+ kernel-related binary packages are built from a single
+ source package <tt>linux-<em>major</em></tt>. As of 2.6.12-1
+ release the common source package <tt>linux-2.6</tt>
+ supports the building of kernel images and headers for 6
+ architectures (<tt>i386</tt>, <tt>amd64</tt>,
+ <tt>alpha</tt>, <tt>sparc</tt>, <tt>ia64</tt> and
+ <tt>s390</tt>). Support for other architectures is a work in
+ progress. Subsequent sections of this chapter document the
+ naming and contents of the binary packages built from the
+ <tt>linux-<em>major</em></tt> source package.
+ </p>
+
<sect id="arch-indep">
<heading>Architecture-independent packages</heading>
<p>
@@ -258,7 +279,8 @@
patchlevel <tt><em>N</em></tt> before building. It has
been obsoleted by the new common packaging system
introduced since kernel 2.6.12 and is provided only for
- backward compatibility with architectures, not controlled
+ backward compatibility with architectures, not yet
+ supported by the common source package or not controlled
by the Debian kernel team.
</item>
</taglist>
@@ -347,7 +369,48 @@
</item>
<tag><tt>linux-image-<em>subarch</em>-<em>version</em>-<em>abiname</em>-<em>flavour</em></tt></tag>
<item>
- Bleh.
+ <p>
+ This package contains the binary kernel image and
+ pre-built binary modules for a particular
+ arch/subarch/flavour combination. Names of the files
+ installed by this package are
+ architecture-dependent. Typical locations of essential
+ files for the <tt>i386</tt> architecture are:
+ <taglist>
+ <tag><tt>/boot/vmlinuz-<em>version</em>-<em>abiname</em>-<em>flavour</em></tt></tag>
+ <item>
+ The binary (compressed) kernel image.
+ </item>
+ <tag><tt>/boot/initrd.img-<em>version</em>-<em>abiname</em>-<em>flavour</em></tt></tag>
+ <item>
+ Initial RAM disk (initrd) image. Note, that this file is automatically generated
+ in the installation process and <strong>not</strong> shipped as a part of the package.
+ See <ref id="initrd"> for more details.
+ </item>
+ <tag><tt>/boot/config-<em>version</em>-<em>abiname</em>-<em>flavour</em></tt></tag>
+ <item>
+ The kernel configuration file used to build this particular kernel. May be used
+ to rebuild the kernel from source, if necessary.
+ </item>
+ <tag><tt>/lib/modules/<em>version</em>-<em>abiname</em>-<em>flavour</em>/</tt></tag>
+ <item>
+ Directory containing the pre-built binary kernel modules.
+ </item>
+ </taglist>
+ <p>
+ There are usually a <tt>/boot/vmlinuz</tt> and
+ <tt>/boot/initrd.img</tt> symbolic links, pointing to
+ the currently used kernel file and initrd image
+ respectively. Upon the installation of a new kernel, the
+ post-installation script included in the package will
+ points this links to newly installed kernel and initrd,
+ which may be named <tt>/boot/vmlinuz-2.6.12-1-686</tt>
+ and <tt>/boot/initrd.img-2.6.12-1-686</tt>, for example.
+ It will also create the links <tt>/boot/vmlinuz.old</tt>
+ and <tt>/boot/initrd.img.old</tt> pointing to the
+ previously used kernel and initrd, and configure the
+ bootloader so that the old kernel may be booted in case
+ something goes wrong.
</item>
</taglist>
</p>
@@ -423,23 +486,24 @@
distributed in the Debian archive use the following
procedure:
<taglist>
- <tag><tt>apt-get source linux-kernel-<em>version</em></tt></tag>
+ <tag><tt>apt-get source linux-<em>major</em></tt></tag>
<item>
This will download an unpack the
- <tt>linux-kernel-<em>version</em></tt> source package,
- making the tree available in the
- <tt>linux-kernel-<em>version</em></tt> directory. As
- always, the revision of this package (for example, 3 in
- 2.6.12-3) will determine its patchlevel with respect to
- the original upstream kernel source.
+ <tt>linux-<em>major</em></tt> source package, making the
+ tree available in the
+ <tt>linux-<em>major</em>-<em>version</em></tt>
+ directory. As always, the revision part of the version
+ of this package (for example, 3 in 2.6.12-3) will
+ determine its patchlevel with respect to the original
+ upstream kernel source.
</item>
<tag><tt>apt-get install build-essential fakeroot</tt></tag>
- <tag><tt>apt-get build-dep linux-kernel-<em>version</em></tt></tag>
+ <tag><tt>apt-get build-dep linux-<em>major</em></tt></tag>
<item>
The last two commands will install the build dependencies required by the kernel
build process.
</item>
- <tag><tt>cd linux-kernel-<em>version</em></tt></tag>
+ <tag><tt>cd linux-<em>major</em>-<em>version</em></tt></tag>
<tag><tt>fakeroot debian/rules binary</tt></tag>
<item>
The last command will start the kernel build and should
@@ -470,8 +534,9 @@
<tt>linux-source-<em>version</em></tt> source package,
adjust the <tt>ltver</tt> variable at the top of the
<tt>debian/rules</tt> file to the desired patchlevel after
- unpacking. You may also want to edit the first line of
- <tt>debian/changelog</tt> to contain the correct version
+ unpacking. You should also remove the unneccessary entries
+ in <tt>debian/changelog</tt>, so that the first line
+ contains the correct version
<tt><em>version</em>-<em>patchlevel</em></tt> (in
brackets). After that proceed with the build as described
above.
@@ -521,6 +586,9 @@
</p>
</sect>
</chapt>
+ <chapt id="modules">
+ <heading>Managing the kernel modules</heading>
+ </chapt>
<chapt id="initrd">
<heading>Managing the initial RAM disk (initrd) image</heading>
</chapt>
More information about the Kernel-svn-changes
mailing list