Previous Next Table of Contents

10. Debian and the kernel

10.1 What tools does Debian provide to build custom kernels?

Users who wish to (or must) build a custom kernel are encouraged to download the package kernel-package_VVV_all.deb, which contains the script to build the kernel package, and provides the capability to create a Debian kernel-image package just by running the command make-kpkg kernel_image in the top-level kernel source directory. Help is available by executing the command make-kpkg --help, and through the section 8 manual page for make-kpkg.

Users must separately download the source code for the most recent kernel (or the kernel of their choice) from their favorite Linux archive site.

To build a custom kernel, users must have these packages installed: gcc, libc5-dev, bin86, binutils, gawk, make, gzip, and grep.

Executing the command dpkg --install kernel-package_VVV_all.deb sets up the directory /usr/src/linux, and sets up the link /usr/src/linux to point to the directory containing the kernel sources appropriate to the kernel version contained in the package. In the case of Debian-1.1, this kernel version is 2.0.0.

Detailed instructions for using the package are given in the file /usr/doc/kernel-package/README. Briefly, one should:

10.2 How can I make a custom boot floppy?

This task is greatly aided by the Debian package boot-floppies_VVV-RRR.deb, normally found in the binary/devel section of the Debian FTP archive. Shell scripts in this package produce boot floppies in the SYSLINUX format. These are MS-DOS 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 shell scripts in this package produce emergency root disks and can even reproduce the base disks.

When the boot-floppies package is installed, it produces files which reside in /usr/src/boot-floppies-VVV, including the three scripts, called bootdisk.sh, rootdisk.sh, and basedisk.sh. Users of these scripts are encouraged to read them and customize as appropriate. In particular, one should include the kernel of your choice when invoking the bootdisk.sh script. Be aware that this kernel cannot be used to load the root disk into a RAMDISK unless it was compiled with CONFIG_RAMDISK=y, and CONFIG_INITRD=y.

The command

./bootdisk.sh /usr/src/kernel-image-2.0.0-2.i386.deb /dev/fd0 1440
writes the kernel-image-2.0.0 package to the 1.44 MByte disk in drive A:.

Be sure to include the editor and whatever other tools you prefer when building your custom root disk with rootdisk.sh.

10.3 What special provisions does Debian provide to deal with modules?

Debian's modconf package provides a shell script (/usr/sbin/modconf) 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 /etc/conf.modules (which lists aliases, and other arguments that must be used in conjuction with various modules), and /etc/modules (which lists the modules that must be loaded at boot time).

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 /usr/lib/modules_help) which provide detailed information on appropriate arguments for each of the modules.


Previous Next Table of Contents