Appendix A. Building an init-ramdisk to use with EVMS

Table of Contents
A.1. Build and install EVMS
A.2. Kernel support for initrd
A.3. Build the initrd image
A.3.1. Create a new, blank initrd
A.3.2. Mount the initrd
A.3.3. Set up the basic directory structure
A.3.4. Copy helpful utilities
A.3.5. Copy supporting libraries
A.3.6. Copy the EVMS tools
A.3.7. Set up disk devices
A.3.8. Copy kernel modules
A.3.9. Write the linuxrc script
A.3.10. Unmount the initrd image
A.3.11. Compress the initrd image
A.4. Set up the boot loader
A.4.1. LILO procedure
A.4.2. GRUB procedure
A.5. Update the file system configuration
A.6. Reboot the system

EVMS versions 1.9.0 and later perform volume discovery in user space and communicate with kernel drivers to activate the volumes. This process presents a problem with having the root file system on an EVMS volume. In order for the root file system volume to be activated, the EVMS tools must be running. However, in order to access the EVMS tools, the root file system must be mounted.

The solution to this dilemma is to use an initial ramdisk (initrd). An initrd is a ram-based device that acts as a temporary root file system at boot time and provides the ability to run programs and load modules that are necessary to activate the true root file system. Thus, in order to have your root file system on an EVMS volume, you need to create and use an initrd.

The following sections provide instructions for creating a new initrd image for use with EVMS.