mirror of
https://github.com/Ponce/slackbuilds
synced 2024-12-02 13:04:42 +01:00
c32a6ad813
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
55 lines
2.7 KiB
Text
55 lines
2.7 KiB
Text
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).
|