Instructions on how to build and install an x86, 32-bit, non-PAE version of Xen 3.1.4 and Linux 2.6.18.8 dom0 from source on a pc2400c2 node running the FEDORA8-STD image in Emulab. Assumes basic kernel compilation knowledge.
In $XEN_ROOT/Config.mk, set:
XEN_TARGET_X86_PAE ?= n
Perform build:
$ make dist
$ depmod 2.6.18.8-xen
$ mkinitrd -v -f initrd-2.6.18.8-xen.img 2.6.18.8-xen
/boot/grub/grub.conf:
default=0
timeout=5
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
title Xen 3.1.4 / Fedora 8
root (hd0,1)
kernel /boot/xen.gz com1=115200,8n1 console=com1
module /boot/vmlinuz-2.6.18.8-xen root=/dev/sda2 ro console=tty0 console=ttyS0,115200n8 xencons=ttyS
module /boot/initrd-2.6.18.8-xen.img
Modify paramenters to suit your own needs, e.g. root (hd0,1)
/etc/xen/xend-config.sxp
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-hosts-allow '')
(network-script 'network-bridge netdev=eth1')
(vif-script vif-bridge)
(dom0-min-mem 196)
(dom0-cpus 0)
(vnc-listen '0.0.0.0')
(vncpasswd 'abc123')
Xen requires a special glibc that Fedora 8 doesn't provide by default.
Easiest way to get around this is to disable TLS.
$ echo "hwcap 0 nosegneg" >/etc/ld.so.conf.d/libc6-xen.conf
$ ldconfig
A change in the build configuration steps from those described for Xen 3.1.x are necessary to build Xen 3.2.x in 32-bit non-PAE mode.
$XEN_ROOT/Config.mk must still be modified to:
XEN_TARGET_X86_PAE ?= n
However, $XEN_ROOT/buildconfigs/Rules.mk no longer needs
modification, but instead the following actions must be taken (from
root of source tree):
$ make xen
$ make prepkernels
Edit linux-2.6.18-xen.hg/arch/i386/Kconfig and comment out the
line:
# select X86_PAE
Complete the build.
$ make dist