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
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"
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
kernel /boot/xen.gz dom0_mem=524288 console=vga
module /boot/vmlinuz-xen root=/dev/sda2 ro console=tty0 nomodeset
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).