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. You can run "make menuconfig" before compiling a Xen kernel by passing the "MENUCONFIG=yes" to the script. Originaly, booting a Xen kernel with LILO bootloader is not supported, so GRUB has to be used. Since some of us still 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 as 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". Since generic kernel requires an initrd image, there are aditional variables that can be used, such as ROOTMOD (list of root filesystem modules), ROOTFS (name of a module to use) and ROOTDEV (name of root filesystem device). After a new kernel image is created, add something like the folowing to 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. If for some reason LILO is not good enough, you can always use GRUB. GRUB may be installed from Slackware's extra repository. The GRUB package is not available from the Slackware x86_64 distribution, but the source and a SlackBuild may be found in its extra/source repository. grubconfig that comes with Slackware's GRUB package may give a starting point to configure GRUB. Moreover, the Xen User Manual and its README file installed with the Xen package include details on which parameters to include in the GRUB configuration file. For example, include these lines in /boot/grub/menu.lst: title Slackware XenLinux 14.0 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. If your dom0 kernel crashes or freezes at boot, either with an automatic reboot or with the blank screen, here are some things to try: - Specify an out of range number to "fbcon" to disable framebuffer altogether, for an example append fbcon=map:9 to the Linux kernel. (To see a list of available devices in your system: cat /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 another VGA card (sorry).