Configuring Your Boot-Loader For EVMS
Currently, there are two boot-loaders commonly in use on Linux:
The bootloader you are running will determine how you will access your
/boot filesystem through an EVMS volume. (If /boot is not on
its own volume, then this discussion applies to the root filesystem instead,
since that is where /boot will reside.)
NOTE: There are some limitations on the type of volume that can be used
to hold your /boot filesystem, regardless of which boot-loader you're
using. This volume must be created from a simple disk segment/partition, or
from a raid-1 region on top of simple segments. Using a volume created from LVM
regions to hold /boot is not supported at this time. The volume itself
can be either an EVMS or a compatibility volume.
- LILO Users
After compiling a new kernel, you run the lilo command to record the
kernel's location in a place that is accessible at boot time. LILO does this
by asking the filesystem for a list of the blocks that make up the kernel
image. It then translates this list of blocks to a list of sectors on the raw
disk. This list of sectors is recorded and accessible to LILO at boot time.
However, LILO can only generate this list when the kernel image is on a
regular partition. For more complex volumes, it must ask the kernel driver for
that volume to translate the sector location within the volume to a sector
location on the disk.
Currently, LILO does not natively support Device-Mapper devices. However,
Christophe Saout has created a patch for LILO to work with Device-Mapper, in
conjunction with libdevmapper. This patch has been tested and works with a
limited set of EVMS volumes (as described in the note above).
To use LILO with EVMS volumes, follow these steps.
- Be sure you have installed the Device-Mapper library and tools as
described in the
the EVMS Tools section.
- Apply the lilo-devmapper patch to LILO.
patch -p1 < /usr/src/lilo-22.6.1-devmapper.patch
- Build and install LILO.
Please see the README and QuickInst files in the
lilo-22.7.1 directory for full instructions on building and
installing LILO. For the most common setup, you can simply use the following
commands, which should preserve your existing /etc/lilo.conf file
(but making a backup copy would also be a wise idea).
- Configure LILO.
If your root filesystem is on an EVMS volume, see the
root volume setup section for information on how to
set up your /etc/lilo.conf file.
- Grub Users
Grub works differently than LILO, in that it contains native support for
partitions and filesystems. At boot time, it finds the partition containing
/boot and looks for its configuration file in the filesystem. It uses this
config file to locate the kernel image, which it then loads into memory.
Grub is bound by the same limitations on the type of volume used for
/boot as described in the above note.
Now that your boot-loader is properly configured, you can mount your
/boot filesystem using the appropriate EVMS volume device-node
(e.g., /dev/evms/hda1 or /dev/evms/Boot).