summaryrefslogtreecommitdiff
path: root/includes/common/doc/FAQ/html/ch-kernel.html
diff options
context:
space:
mode:
Diffstat (limited to 'includes/common/doc/FAQ/html/ch-kernel.html')
-rw-r--r--includes/common/doc/FAQ/html/ch-kernel.html311
1 files changed, 311 insertions, 0 deletions
diff --git a/includes/common/doc/FAQ/html/ch-kernel.html b/includes/common/doc/FAQ/html/ch-kernel.html
new file mode 100644
index 0000000..5e88fad
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-kernel.html
@@ -0,0 +1,311 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Debian and the kernel</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-kernel"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-uptodate.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ 9 ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-customizing.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 9 - Debian and the kernel
+</h1>
+
+<hr>
+
+<h2><a name="s-non-debian-kernel"></a>9.1 Can I install and compile a kernel without some Debian-specific tweaking?</h2>
+
+<p>
+Yes.
+</p>
+
+<p>
+There's only one common catch: the Debian C libraries are built with the most
+recent <em>stable</em> releases of the <strong>kernel</strong> headers. If you
+happen to need to compile a program with kernel headers newer than the ones
+from the stable branch, then you should either upgrade the package containing
+the headers (<code>libc6-dev</code>), or use the new headers from an unpacked
+tree of the newer kernel. That is, if the kernel sources are in
+<code>/usr/src/linux</code>, then you should add
+<samp>-I/usr/src/linux/include/</samp> to your command line when compiling.
+</p>
+
+<hr>
+
+<h2><a name="s-customkernel"></a>9.2 What tools does Debian provide to build custom kernels?</h2>
+
+<p>
+Users who wish to (or must) build a custom kernel are encouraged to download
+the package <code>kernel-package</code>. This package contains the script to
+build the kernel package, and provides the capability to create a Debian
+kernel-image package just by running the command
+</p>
+
+<pre>
+ make-kpkg kernel_image
+</pre>
+
+<p>
+in the top-level kernel source directory. Help is available by executing the
+command
+</p>
+
+<pre>
+ make-kpkg --help
+</pre>
+
+<p>
+and through the manual page <code>make-kpkg(1)</code>.
+</p>
+
+<p>
+Users must separately download the source code for the most recent kernel (or
+the kernel of their choice) from their favorite Linux archive site, unless a
+kernel-source-version package is available (where &quot;version&quot; stands
+for the kernel version).
+</p>
+
+<p>
+Detailed instructions for using the <code>kernel-package</code> package are
+given in the file <code>/usr/share/doc/kernel-package/README.gz</code>.
+Briefly, one should:
+</p>
+<ul>
+<li>
+<p>
+Unpack the kernel sources, and <samp>cd</samp> to the newly created directory.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Modify the kernel configuration using one of these commands:
+</p>
+<ul>
+<li>
+<p>
+<samp>make config</samp> (for a tty one-line-at-a-time-interface).
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<samp>make menuconfig</samp> (for an ncurses-based menu driven interface).
+Note that to use this option, the <code>libncurses5-dev</code> package must be
+installed.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<samp>make xconfig</samp> (for an X11 interface). Using this option requires
+that relevant X and Tcl/Tk packages be installed.
+</p>
+</li>
+</ul>
+
+<p>
+Any of the above steps generates a new <samp>.config</samp> in the top-level
+kernel source directory.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Execute the command: <samp>make-kpkg -rev Custom.N kernel_image</samp>, where N
+is a revision number assigned by the user. The new Debian archive thus formed
+would have revision Custom.1, e.g.,
+<samp>kernel-image-2.2.14_Custom.1_i386.deb</samp> for the Linux kernel 2.2.14
+on i386.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Install the package created.
+</p>
+<ul>
+<li>
+<p>
+<samp>Run dpkg --install /usr/src/kernel-image-VVV_Custom.N.deb</samp> to
+install the kernel itself. The installation script will:
+</p>
+<ul>
+<li>
+<p>
+run the boot loader (grub, LILO or some other) if needed,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+install the custom kernel in /boot/vmlinuz_VVV-Custom.N, and set up appropriate
+symbolic links to the most recent kernel version.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+prompt the user to make a boot floppy. This boot floppy will contain the raw
+kernel only. See <a href="#s-custombootdisk">How can I make a custom boot
+floppy?, Section 9.3</a>.
+</p>
+</li>
+</ul>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To employ secondary boot loaders such as <samp>loadlin</samp>, copy this image
+to other locations (e.g. to an <samp>MS-DOS</samp> partition).
+</p>
+</li>
+</ul>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-custombootdisk"></a>9.3 How can I make a custom boot floppy?</h2>
+
+<p>
+This task is greatly aided by the Debian package <code>boot-floppies</code>,
+normally found in the <samp>admin</samp> section of the Debian FTP archive.
+Shell scripts in this package produce boot floppies in the
+<samp>SYSLINUX</samp> format. These are <samp>MS-DOS</samp> formatted floppies
+whose master boot records have been altered so that they boot Linux directly
+(or whatever other operating system has been defined in the syslinux.cfg file
+on the floppy). Other scripts in this package produce emergency root disks and
+can even reproduce the base disks.
+</p>
+
+<p>
+You will find more information about this in the
+<samp>/usr/share/doc/boot-floppies/README</samp> file after installing the
+<code>boot-floppies</code> package.
+</p>
+
+<hr>
+
+<h2><a name="s-modules"></a>9.4 What special provisions does Debian provide to deal with modules?</h2>
+
+<p>
+Debian's <code>modconf</code> package provides a shell script
+(<samp>/usr/sbin/modconf</samp>) which can be used to customize the
+configuration of modules. This script presents a menu-based interface,
+prompting the user for particulars on the loadable device drivers in his
+system. The responses are used to customize the file
+<samp>/etc/modules.conf</samp> (which lists aliases, and other arguments that
+must be used in conjunction with various modules) through files in
+<samp>/etc/modutils/</samp>, and <samp>/etc/modules</samp> (which lists the
+modules that must be loaded at boot time).
+</p>
+
+<p>
+Like the (new) Configure.help files that are now available to support the
+construction of custom kernels, the modconf package comes with a series of help
+files (in <samp>/usr/lib/modules_help/</samp>) which provide detailed
+information on appropriate arguments for each of the modules.
+</p>
+
+<hr>
+
+<h2><a name="s-removeoldkernel"></a>9.5 Can I safely de-install an old kernel package, and if so, how?</h2>
+
+<p>
+Yes. The <samp>kernel-image-NNN.prerm</samp> script checks to see whether the
+kernel you are currently running is the same as the kernel you are trying to
+de-install. Therefore you can remove unwanted kernel image packages using this
+command:
+</p>
+
+<pre>
+ dpkg --purge --force-remove-essential kernel-image-NNN
+</pre>
+
+<p>
+(replace &quot;NNN&quot; with your kernel version and revision number, of
+course)
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-uptodate.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ 9 ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-customizing.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+