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 &copy; 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