summaryrefslogtreecommitdiffstats
path: root/system/xen/dom0/README.dom0
blob: 326b7bfef6b26bd5f3bf2ff0f3bab51189b26f12 (plain)
kernel-xen.sh: This script builds the Linux Kernel for a Xen Hypervisor.

The configuration files included here are based on generic Slackware configs.
For 32bit systems, SMP based config was used. To run "make menuconfig" before
compiling a Xen kernel, use "MENUCONFIG=yes" variable.

Originally, booting a Xen kernel with LILO bootloader is not supported, so GRUB
has to be used. Because some might preffer LILO over GRUB, there is a way to
accomplish this with mbootpack. Basicaly, mbootpack takes Linux kernel, initrd
and Xen VMM, and packages them up into a single file that looks like a bzImage
Linux kernel. To select how kernel is packed use "BOOTLOADER=" variable. Valid
options are "lilo" and "grub". Because generic kernel requires an initrd image,
there are aditional variables that can be used; ROOTMOD (takes a list of
colon-delimited modules to build into initrd), ROOTFS (takes a name of a module
to use for root filesystem) and ROOTDEV (takes a name of root filesystem
device).

After a new kernel image is created, and if bootloader of choice is LILO,
include these lines in /etc/lilo.conf:

image = /boot/vmlinuz-xen
  root = /dev/sda2
  label = XenLinux
  append="dom0_mem=512M -- nomodeset"
  read-only

Note: everything before "--" is passed to Xen, and everything after "--" is
passed to the Linux kernel.

For GRUB, for example, include these lines in /boot/grub/menu.lst:

title Slackware XenLinux 14.1
         root (hd0,0)
         kernel /boot/xen.gz dom0_mem=524288 console=vga
         module /boot/vmlinuz-xen root=/dev/sda2 ro console=tty0 nomodeset
         module /boot/initrd-xen.gz

Note that dom0_mem parameter is critical for a 32bit install.

Here are some notes/guidances if your dom0 crashes, freezes or maybe the
screen goes blank on boot:
- Specify an out of range number to "fbcon" to disable framebuffer altogether,
  which, for example, is done by appending fbcon=map:9 to the Linux kernel (To
  see a list of available devices in your system check /proc/fb).
- Blacklist framebuffer module from loading. This one requires a bit of
  digging arround in dmesg/lsmod to find out wich module is in use.
- Disable framebuffer devices by setting CONFIG_FB=n in kernel config.
- Try booting with another VGA card (sorry).