r3465 - trunk/docs/handbook

Jurij Smakov jurij-guest@costa.debian.org
Tue, 12 Jul 2005 03:14:28 +0000


Author: jurij-guest
Date: 2005-07-12 03:14:28 +0000 (Tue, 12 Jul 2005)
New Revision: 3465

Modified:
   trunk/docs/handbook/kernel-handbook.sgml
Log:
Update the chapter about arch-dependent packages.


Modified: trunk/docs/handbook/kernel-handbook.sgml
===================================================================
--- trunk/docs/handbook/kernel-handbook.sgml	2005-07-12 00:35:00 UTC (rev 3464)
+++ trunk/docs/handbook/kernel-handbook.sgml	2005-07-12 03:14:28 UTC (rev 3465)
@@ -266,9 +266,97 @@
       </sect>
       <sect id="arch-dep">
         <heading>Architecture-dependent packages</heading>
+	<p>
+	  The kind of hardware the particular kernel package is
+	  designed for is uniquely identified by the
+	  <em>architecture</em>, <em>subarchitecture</em>, and
+	  <em>flavour</em>. Kernels for most architectures are built
+	  from the same Debian kernel source tree, which is obtained
+	  using the procedure described in <ref id="source">. Each
+	  architecture usually has multiple flavours of the binary
+	  kernel images. Different flavours correspond to different
+	  kernel configuration files, used to build the binary images
+	  from the <strong>same</strong> kernel tree.
+	</p>
+
+	<p>
+	  In order to build a working kernel for certain classes of
+	  hardware, additional changes to the Debian kernel source may
+	  be required. In that case, the patch set applied to produce
+	  a modified tree determines the subarchitecture.  Again,
+	  multiple flavours of binary images may be build from the
+	  subarchitecture tree. For example, the <tt>powerpc</tt>
+	  architecture may have <tt>power4</tt> and
+	  <tt>power4-smp</tt> flavours, built from the common Debian
+	  kernel source, as well as an <tt>apus</tt>
+	  subarchitecture. Tree for that subarchitecture is obtained
+	  by applying <tt>apus</tt>-specific patches to the Debian
+	  kernel source. This tree may be further used to build the
+	  <tt>apus-up</tt> and <tt>apus-smp</tt> binary image flavours
+	  <footnote> This example is for illustrative purposes only.
+	  Currently there are no supported subarchitectures in Debian.
+	  </footnote>. All the flavour identifiers across all
+	  architectures and subarchitectures are unique, so that the
+	  flavour name may be uniquely mapped to a (sub)architecture,
+	  if need arises.  The names of the Debian binary packages
+	  incorporate the name of the flavour and, if necessary, the
+	  name of the subarchitecture (there is no need to worry about
+	  the name of the architecture, since Debian tools will only
+	  allow installation of the packages with "correct"
+	  architecture). If the arch does not have any subarches, the
+	  subarch part is omitted from the name.
+	</p>
+	<p>
+	  Package names also include the <em>abiname</em>, a small
+	  integer, which identifies the kernel's compatibility
+	  level. The kernels with different abinames are binary
+	  incompatible, so upgrading to a kernel with a different
+	  abiname will most likely require recompilation of
+	  third-party binary modules against the new kernel. The list
+	  of architecture-dependent packages together with a short
+	  description is given below.
+        </p>
+	<p>
+	  <taglist>
+	  <tag><tt>linux-headers-<em>subarch</em>-<em>version</em>-<em>abiname</em></tt></tag>
+	  <item>
+	    This package contains a common set of kernel headers for a particular
+	    subarch (or arch, if subarch is empty). Together with the flavour-specific
+	    <tt>linux-headers</tt> package it provides a full set of kernel headers,
+	    suitable for building of out-of-tree modules. This package should not normally
+	    be installed directly, but only as a dependency of the flavour-specific
+	    headers package (see next description). It unpacks into the 
+	    <tt>/usr/src/linux-headers-<em>subarch</em>-<em>version</em>-<em>abiname</em></tt>
+	    directory.
+	  </item>
+	  </taglist>
+	  <taglist>
+	  <tag><tt>linux-headers-<em>subarch</em>-<em>version</em>-<em>abiname</em>-<em>flavour</em></tt></tag>
+	  <item>
+	    This package provides flavour-specific header files. It depends on the corresponding
+	    <tt>linux-headers-<em>subarch</em>-<em>version</em>-<em>abiname</em></tt> package, and
+	    sets up symbolic links into its directory tree in such a way that the directory 
+	    <tt>/usr/src/linux-headers-<em>subarch</em>-<em>version</em>-<em>abiname</em>-<em>flavour</em></tt>
+	    appears to contain a full set of headers, required for building of out-of-tree kernel modules.
+	    For more information on this check out <ref id="common-out-of-tree">. A complete
+	    set of kernel headers matching the currently running official kernel may be installed with
+	    a command
+	    <example>
+apt-get install linux-headers-$(uname -r)
+            </example>
+	  </item>
+	  <tag><tt>linux-image-<em>subarch</em>-<em>version</em>-<em>abiname</em>-<em>flavour</em></tt></tag>
+	  <item>
+	  Bleh.
+	  </item>	  
+	  </taglist>
+	</p>
       </sect>
       <sect id="other-pkg">
         <heading>Other kernel-related packages</heading>
+	<p>
+	  To be contributed.
+	</p>
       </sect>
     </chapt>
     <chapt id="common-tasks">
@@ -416,12 +504,21 @@
       </sect>
       <sect id="common-out-of-tree">
         <heading>Building out-of-tree kernel modules</heading> 
+	<p>
+	  To be contributed.
+	</p>
       </sect>
       <sect id="common-debian-patches">
         <heading>Building kernels with packaged patches</heading>
+	<p>
+	  To be contributed.
+	</p>
       </sect>
       <sect id="common-ext-patches">
         <heading>Building kernels with third-party patches</heading>
+	<p>
+	  To be contributed.
+	</p>
       </sect>
     </chapt>
     <chapt id="initrd">