You may notice that the bootdisks used by major distributions such as Slackware, RedHat or Debian, seem more sophisticated than what is described in this document. Professional distribution bootdisks are based on the same principles outlined here, but employ various tricks because their bootdisks have additional requirements. First, they must be able to work with a wide variety of hardware, so they must be able to interact with the user and load various device drivers. Second, they must be prepared to work with many different installation options, with varying degrees of automation. Finally, distribution bootdisks usually combine installation and rescue capabilities.
Some bootdisks use a feature called initrd (initial
ramdisk).initial ramdisk (initrd)/ This feature was introduced around
2.0.x and provides greater flexibility by allowing a kernel to boot in two
phases. When the kernel first boots, it loads an initial ramdisk image from
the boot disk. This initial ramdisk is a root filesystem containing a program
that runs before the real root fs is loaded. This program usually inspects
the environment and/or asks the user to select various boot options, such as
the device from which to load the real rootdisk. It typically loads
additional modules not built in to the kernel. When this initial program
exits, the kernel loads the real root image and booting continues normally.
For further information on initrd
, see
/usr/src/linux/Documentation/initrd.txt and
ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz
The following are summaries of how each distribution's installation disks seem to work, based on inspecting their filesystems and/or source code. We do not guarantee that this information is completely accurate, or that they have not changed since the versions noted.
Slackware (v.3.1) uses a straightforward LILO boot similar to what is
described in section
Transferring the kernel with LILO
. The Slackware bootdisk prints a bootup message (``Welcome to the
Slackware Linux bootkernel disk!
'') using LILO's message
parameter.
This instructs the user to enter a boot parameter line if necessary. After
booting, a root filesystem is loaded from a second disk. The user invokes a
setup
script which starts the installation. Instead of using a modular
kernel, Slackware provides many different kernels and depends upon the user to
select the one matching his or her hardware requirements.
RedHat (v.4.0) also uses a LILO boot. It loads a compressed ramdisk on the
first disk, which runs a custom init
program. This program queries for
drivers, and loads additional files from a supplemental disk if necessary.
Debian (v.1.3) is probably the most sophisticated of the installation disk
sets. It uses the SYSLINUX loader to arrange various load options, then
uses an initrd
image to guide the user through installation.
It appears to use both a customized init
and a customized shell.
Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter