kernel-xen.sh: This script builds the Linux Kernel for a Xen Hypervisor.
The configuration file included here is based on a generic Slackware64 kernel
config. To run "make menuconfig" before compiling a Xen kernel, use the
"MENUCONFIG=yes" variable.
Originally, booting a Xen kernel with LILO bootloader is not supported, so GRUB
has to be used. For those that preffer LILO over GRUB, there is a way to
accomplish this with mbootpack. Basically, 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.
When using GRUB, you might want to 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
Here are some notes/guidances if your dom0 crashes, freezes or maybe the
screen goes blank at 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).