diff options
Diffstat (limited to 'system/xen/dom0/README.dom0')
-rw-r--r-- | system/xen/dom0/README.dom0 | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/system/xen/dom0/README.dom0 b/system/xen/dom0/README.dom0 new file mode 100644 index 0000000000000..9241dda1b3b66 --- /dev/null +++ b/system/xen/dom0/README.dom0 @@ -0,0 +1,82 @@ +kernel-xen.sh: This script builds the Linux Kernel for the Xen Hypervisor. + +To run this scipt you will need the rebased OpenSUSE Xen kernel patches: +http://gentoo-xen-kernel.googlecode.com/files/xen-patches-2.6.34-6.tar.bz2 +(md5sum: afb08178200fa34fd24c4d9d03174102) + +Since the patches are for 2.6.34.7 kernel, you can get it from here: +http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.7.tar.bz2 +(md5sum: 8964e26120e84844998a673464a980ea) + +The configuration files included here are based on Slackware 2.6.33.4 configs. +For 32bit systems, SMP based config was used. You may run "make menuconfig" +before compiling a Xen kernel by passing the "MENUCONFIG=yes" to the scipt. + +Another variable worth mentioning here is "BOOTLOADER=", wich can be used to +select how kernel is packed. Valid options are "lilo" and "grub". + +By default, a "huge" kernel config is chosen, but you may opt for the generic +kernel by passing the "KERNEL=generic" variable to the script. In this case, +you will need to make an ad-hoc initrd after installing this package. +For example: + +# depmod 2.6.34.7-xen +# mkinitrd -c -k 2.6.34.7-xen -f ext4 -r /dev/sda1 -m ext4 -o /boot/initrd-xen.gz + +For details on initrd, read /boot/README.initrd, for hints run: +/usr/share/mkinitrd/mkinitrd_command_generator.sh script and read the Xen +User Manual and the README file that comes with the Xen package. + +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. Basicly mbootpack takes Linux kernel, initrd +and Xen VMM, and packages them up as a single file that looks like a bzImage +Linux kernel. For example this is how mbootpack works: + +# cd /boot +# gzip -d -c /boot/xen-4.1.0.gz > /boot/xen-4.1.0 +# gzip -d -c /boot/initrd-xen.gz > /boot/initrd-xen +# mbootpack -o /boot/vmlinuz-2.6.34.7-xen -m /usr/src/linux-2.6.34.7-xen/vmlinux \ + -m /boot/initrd-xen /boot/xen-4.1.0 + +After a new kernel image is created, add something like the folowing to lilo.conf: + +image = /boot/vmlinuz-xen + root = /dev/sda1 + label = XenLinux + append="dom0_mem=256M -- 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 13.37 + root (hd0,0) + kernel /boot/xen.gz dom0_mem=262144 console=vga + module /boot/vmlinuz-xen root=/dev/sda1 ro console=tty0 nomodeset + module /boot/initrd-xen.gz + +Additional notes about bootloaders: + A dom0_mem parameter is critical for a 32bit Slackware install. + You only need the initrd if you install a generic kernel. + +Aditional notes on framebuffer problems: + 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 FB 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 FB module from loading, this one requires a bit of + digging arround in dmesg/lsmod to find out wich module is loading. + - Disable FB device in question or simply set CONFIG_FB=n in kernel config. + - Replace the VGA card? :^) |