Figure

The SUSE system boot loader

Startup Options

Boot Options vga=OxJlvj

Fl Help F? language

Fritjlish (IJK)

The initial ramdisk usually contains essential drivers that are needed to mount your / (root) filesystem. The kernel binary probably includes the basic drivers for the disk devices, so these are not loaded by the initial ramdisk, but the drivers for IDE CD-ROM devices are often loaded from the initial ramdisk. Similarly, the drivers for SCSI devices can either be compiled into the kernel or loaded through the initial ramdisk. The driver for the type of filesystem used on the initial RAM disk must also be compiled into the kernel, but you can load additional filesystem drivers from the initial ramdisk if you want to keep your kernel as small as possible. Either the kernel or the initial ramdisk must contain the driver for the type of filesystem used in your on-disk root filesystem.

Drivers must be loaded from the initial ramdisk because the kernel is unable to access the / (root) filesystem if it does not contain the filesystem drivers to do this. Compiling drivers into the kernel is always safe but creates a larger kernel (which therefore uses more memory). The Linux kernel image contains enough drivers to be able to load and mount at least an initial ramdisk for further disk controller access.

If you lose your initial ramdisk, you may not be able to load the root filesystem in order to complete the boot process. In this case, you will need to use the SUSE Rescue System. We discuss this later in the chapter.

Once the initial ramdisk has loaded any drivers needed to access the root filesystem, it is unmounted and the kernel reclaims the memory associated with the initial ramdisk. When this has been completed, the root filesystem is loaded and the boot process proceeds as normal by reading the default runlevel from the file /etc/inittab and then starting up the processes associated with the default runlevel.

- - p On newer versions of SUSE, the initial ramdisk is actually a cpio archive that has ~ ■ been compressed using gzip. On older versions, it is a gzip-compressed filesystem image. Archives and compression are covered in Chapter 13.

On an installed system, you can rebuild the initial ramdisk with the command mkinitrd. By editing the file /etc/sysconfig/kernel , you can control which kernel modules are included in the initrd which is built by this command. In that file there is a line similar to:

Was this article helpful?

0 0

Post a comment