diff options
Diffstat (limited to 'system/xen/dom0/README.dom0')
-rw-r--r-- | system/xen/dom0/README.dom0 | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/system/xen/dom0/README.dom0 b/system/xen/dom0/README.dom0 new file mode 100644 index 0000000000..c2f8c72270 --- /dev/null +++ b/system/xen/dom0/README.dom0 @@ -0,0 +1,84 @@ +kernel-xen.sh: Xen dom0 kernel using rebased OpenSUSE xen-patches. + +This script patches and builds the Linux Kernel for the Xen Hypervisor. + +To run this scipt you will need the Xen kernel patches in this directory. +The patches may be downloaded from: +http://gentoo-xen-kernel.googlecode.com/files/xen-patches-2.6.34-4.tar.bz2 +(md5sum: 25ba07cf0702130af26c045fd6227f2f) + +Note on kernel: You will need to get kernel version 2.6.34.4 because patches +based on Slackware stock kernel tree (2.6.33.4) do not work as expected. +Anyway, you can get it from: +http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.4.tar.bz2 +(md5sum: f75d21e5c60f18adf0e99d61c243f964) + +The included configuration files are based on Slackware's kernel. For +Slackware32, the SMP kernels were used as the non-smp kernels would not compile +with the Xen patches. For the Xen-specific parameters, the default options were +used as much as possible. You may run "make menuconfig" before compiling the +Xen kernel by passing the "MENUCONFIG=yes" to the scipt. + +Another variable worth mentioning here is "BOOTLOADER=", you can use it to +select how kernel is packed. Valid options are "lilo" and "grub". + +By default, the huge kernel 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.4-xen +mkinitrd -c -k 2.6.34.4-xen -f ext4 -r /dev/sda1 -m ext4 -o /boot/initrd-xen.gz + +For details on initrd, read /boot/README.initrd, run +/usr/share/mkinitrd/mkinitrd_command_generator.sh for hints and read the Xen +User Manual and the README file that comes with the Xen package. + +Since booting Xen kernel with LILO is not supported by default we have to +either use GRUB, or mbootpack to create a LILO compatible kernel. + +This is an example how to do it with LILO, mbootpack and initrd: + +cd /boot +gzip -d -c /boot/xen-4.0.1.gz > /boot/xen-4.0.1 +gzip -d -c /boot/initrd-xen.gz > /boot/initrd-xen +mbootpack -o /boot/vmlinuz-2.6.34.4-xen -m /usr/src/linux-2.6.34.4-xen/vmlinux \ + -m /boot/initrd-xen /boot/xen-4.0.1 + +After 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.1 + 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 + +Notes on bootloader: + A dom0_mem parameter is critical for Slackware32. + You only need the initrd module if you install the generic kernel. + +Aditional notes on framebuffer: + If your dom0 kernel gets stuck on boot with a blinking cursor on the screen, + and you have an old VGA card, don't panic, there is a way arround it! + Easiest method is to boot from non-xen kernel, and blacklist a framebuffer + module from ever loading. Another option would be to replace VGA card with + a newer one, or remove module in the next kernel build. |