Chapter 24. Configuring ELILO

Chapter 24. Configuring ELILO

ELILO is the boot loader used on EFI-based systems, notably Itanium®. Similar to the GRUB, the boot loader on x86 and x86-64 systems, ELILO allows the user to select which installed kernel to load during the system boot sequence. It also allows the user to pass arguments to the kernel. The ELILO configuration file, which is located in the EFI boot partition and symbolically linked to /etc/elilo.conf, contains a list of global options and image stanzas. When you install the kernel-xen RPM, a post install script adds the appropriate image stanza to the elilo.conf.

The ELILO configuration file has two sections:

Here is a sample image stanza in elilo.conf:

image=vmlinuz-2.6.18-92.el5xen
        vmm=xen.gz-2.6.18-92.el5
        label=linux
        initrd=initrd-2.6.18-92.el5xen.img
        read-only
        root=/dev/VolGroup00/rhel5_2
        append="-- rhgb quiet"

The image parameter indicates the following lines apply to a single boot selection. This stanza defines a hypervisor(vmm), initrd, and command line arguments (read-only, root and append) to the hypervisor and kernel. When ELILO is loaded during the boot sequence, this image will be labeled label linux.

ELILO translates read-only to the kernel command line option ro which causes the root file system to be mounted read-only until the initscripts mount the root drive as read-write. ELILO copies the "root" line to the kernel command line. These are merged with the "append" line to build a completecommand line:

"-- root=/dev/VolGroup00/rhel5_2 ro rhgb quiet"

The -- is used to delimit hypervisor and kernel arguments. The hypervisor arguments come first, then the -- delimiter, followed by the kernel arguments. The hypervisor does not usually have any arguments.

Technical note

ELILO passes the entire command line to the hypervisor. The hypervisor divides the content and passes the kernel options to the kernel.

To customize the hypervisor, insert parameters before the --. An example of the hypervisor memory(mem) parameter and the quiet parameter for the kernel:

append="dom0_mem=2G -- quiet"
ELILO hypervisor parameters
Parameter Description
mem= The mem parameter defines the hypervisor maximum RAM usage. Any additional RAM in the system will be ignored. The parameter may be specified with a B, K, M or G suffix; representing bytes, kilobytes, megabytes and gigabytes respectively. If no suffix is specified the default unit is kilobytes.
dom0_mem= dom0_mem= sets the amount of RAM to allocate to dom0. The same suffixes are respected as for the mem parameter above. The default in Red Hat Enterprise Linux 5.2 on Itanium® is 4G.
dom0_max_vcpus= dom0_max_vcpus= sets the number of CPUs to allocate to the hypervisor. The default in Red Hat Enterprise Linux 5.2 on Itanium® is 4.
com1=<baud>,DPS,<io_base>,<irq> com1= sets the parameters for the first serial line. For example, com1=9600,8n1,0x408,5. The io_base and irq options can be omitted to leave them as the standard defaults. The baud parameter can be set as auto to indicate the boot loader setting should be preserved. The com1 parameter can be omitted if serial parameters are set as global options in ELILO or in the EFI configuration.
com2=<baud>,DPS,<io_base>,<irq> Set the parameters for the second serial line. Refer the description of the com1 parameter above.
console=<specifier_list> The console is a comma delimited preference list for the Xen console options. Options include vga, com1 and com2. This setting should be omitted because the hypervisor will attempt to inherit EFI console settings.

For more information on ELILO parameters

A complete list of ELILO parameters are available from XenSource.

A modified example of the configuration above, showing syntax for appending memory and cpu allocation parameters to the hypervisor:

image=vmlinuz-2.6.18-92.el5xen
        vmm=xen.gz-2.6.18-92.el5
        label=linux
        initrd=initrd-2.6.18-92.el5xen.img
        read-only
        root=/dev/VolGroup00/rhel5_2
        append="dom0_mem=2G dom0_max_vcpus=2 --"

Additionally this example removes the kernel parameters "rhgb quiet" so that kernel and initscript output are generated on the console. Note the double-dash remains so that the append line is correctly interpreted as hypervisor arguments.


Note: This documentation is provided {and copyrighted} by Red Hat®, Inc. and is released via the Open Publication License. The copyright holder has added the further requirement that Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder. The CentOS project redistributes these original works (in their unmodified form) as a reference for CentOS-5 because CentOS-5 is built from publicly available, open source SRPMS. The documentation is unmodified to be compliant with upstream distribution policy. Neither CentOS-5 nor the CentOS Project are in any way affiliated with or sponsored by Red Hat®, Inc.