47 lines
2.1 KiB
Plaintext
47 lines
2.1 KiB
Plaintext
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).
|