Chapter 6. Configuring GRUB

Chapter 6. Configuring GRUB

Chapter 6. Configuring GRUB

GNU Grand Unified Boot Loader (or GRUB) is a program which enables the user to select which installed operating system or kernel to load at system boot time. It also allows the user to pass arguments to the kernel. The GRUB configuration file (located in /boot/grub/grub.conf) is used to create a list of operating systems to boot in GRUB's menu interface. When you install the kernel-xen RPM, a post script adds kernel-xen entries to the GRUB configuration file. You must macan edit the grub.conf file and enable the following GRUB parameter:

title Red Hat Enterprise Linux Server (2.6.18-3.el5xen)
root   (hd0; 0)
kernel  /xen.gz.-2.6.18-3.el5
module  /vmlinuz-2.6..18-3.el5xen ro root=/dev/VolGroup00/LogVol00  rhgb quiet
module  /initrd-2.6.18-3. el5xenxen.img

If you set your Linux grub entries to reflect this example, the boot loader loads the hypervisor, initrd image, and Linux kernel. Since the kernel entry is on top of the other entries, the kernel loads into memory first. The boot loader sends (and recieves) command line arguments to and from the hypervisor and Linux kernel. This example entry shows how you would restrict the Domain0 linux kernel memory to 800 MB:


title Red Hat Enterprise Linux Server (2.6.18-3.el5xen)
root   (hd0; 0)
kernel  /xen.gz.-2.6.18-3.el5 dom0_mem=800M
module  /vmlinuz-2.6..18-3.el5xen ro root=/dev/VolGroup00/LogVol00  rhgb quiet
module  /initrd-2.6.18-3. el5xenxen.img

You can use these GRUB parameters to configure the Virtualization hypervisor:

mem

This limits the amount of memory that is available for domain0.


com1=115200, 8n1

This enables the first serial port in the system to act as serial console (com2 is assigned for the next port, and so on...).

 
dom0_mem

This limits the amount of memory that is available for domain0.

dom0_max_vcpus

This limits the amount of CPUs visible to domain0.

acpi

This switches the ACPI hypervisor to the hypervisor and domain0. The ACPI parameter options include:


/*   ****  Linux config options: propagated to domain0  ****/
/*   "acpi=off":      Disables both ACPI table parsing and interpreter.   */
/*   "acpi=force":    Overrides the disable blacklist.                    */
/*   "acpi=strict":   Disables out-of-spec workarounds.                   */
/*   "acpi=ht":       Limits ACPI from boot-time to enable HT.            */
/*   "acpi=noirq":    Disables ACPI interrupt routing.                    */


noacpi

This disables APIC for interrupt delivery.