Xen 3.3.1rc1-pre port to CentOS 5.2 via http://bits.xensource.com mercurial repos and managing PV DomUs in graphical mode

Failure to virt-install F10 PV DomU and repeated issue with CentOS 5.2 in stub domain after same port via
http://gitco.de, upgrading only hypervisor to keep virt-install alive at Dom0, brought me to idea just go through traditional “hg” cloning mercurial repository at http://bits.xensource.com and build local Xen 3.3.1rc1 with 2.6.18.8-xen kernel. Actually, technology based on utilizing local Apache Mirrors along with pygrub profile,referencing installation versions of kernel ( either xenified or supporting pv_ops) and corresponding ramdisk, to create bootable PV DomU image followed by switching to another standard pygrub profile to load DomU with image, been already created, is flexible enough to cancel urgent need in virt-install. Installation PV DomUs for Ubuntu and Debian doesn’t need virt-install as well. Stub domains also work much more smoothly at Xen 3.3.1rc1-pre port to CentOS 5.2 mentioned in the header. In particular, i was able to install CentOS 5.2 in stubdom pretty fast and without any problems. I’ve tested CentOS 5.2 install as PV DomU and as stub domain (view [1],[2] for details) ,F9 PV DomU and openSUSE 11 install as PV DomU (view [3] for details). All mentioned above PV DomUs would be built up with graphical interface straight away.
*********************************************************************************************************************
To port Xen 3.3.1rc1-pre to xen disabled CentOS 5.2 instance (64 bit) install the most recent version of gitco and mercurial (hg).
**********************************************************************************************************************
# cd /usr/src/
# hg clone http://xenbits.xensource.com/xen-3.3-testing.hg
# cd xen-3.3-testing.hg
# make world
# make install
Determine the name of the Xen Linux kernel version that was installed.
# ls /lib/modules
There should be a directory for the Xen Linux kernel (e.g.2.6.18.8-xen)
Generate the module dependency list and map files
# /sbin/depmod 2.6.18.8-xen
Create the Xen initial ramdisk image
# /sbin/mkinitrd /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen
Disable tls
# mv /lib64/tls /lib64/tls.disabled
Set xend service to start
# /sbin/chkconfig –add xend
# /sbin/chkconfig xend on
Install bridge-utils:-
# yum install bridge-utils
************************************************************************
Edit /boot/grub/grub.conf and copy one of the existing boot entries
to make the required changes for Xen and reboot into new kernel.
*************************************************************************
title Xen-3.3.1 CentOS 5.2 x86_64 (2.6.18.8-xen) (/dev/sdb12)
root (hd1,11)
kernel /xen-3.3.gz
module /vmlinuz-2.6.18.8-xen ro root=/dev/VolGroup01/LogVol00 rhgb quiet
module /initrd-2.6.18.8-xen.img
**********************
Verify environment:-
**********************

[root@ServerRHL ~]# xm info
host : ServerRHL
release : 2.6.18.8-xen
version : #1 SMP Mon Nov 17 14:28:27 EST 2008
machine : x86_64
nr_cpus : 2
nr_nodes : 1
cores_per_socket : 2
threads_per_core : 1
cpu_mhz : 3005
hw_caps : bfebfbff:20100800:00000000:00000140:0008e3fd:00000000:00000001:00000000
virt_caps : hvm
total_memory : 8191
free_memory : 4058
node_to_cpu : node0:0-1
node_to_memory : node0:4058
xen_major : 3
xen_minor : 3
xen_extra : .1-rc1-pre
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset : Tue Nov 04 13:13:40 2008 +0000 18486:c05a663d3b24
cc_compiler : gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)
cc_compile_by : root
cc_compile_domain :
cc_compile_date : Mon Nov 17 15:02:29 EST 2008
xend_config_format : 4
[root@ServerRHL ~]# brctl show
bridge name bridge id STP enabled interfaces
eth0 8000.001e8c25cca5 no peth0

****************************************************************************
1. CentOS 5.2 in stub domain (ballooning doesn’t seem to be working)
****************************************************************************
I had to run:-
# xm mem-set Domain-0 4000
to create and run stubdom , requiring 2 GB memory.

[root@ServerCentOS52 xen]# cat rhel52hvm-stubdom
kernel = “/usr/lib/xen/boot/hvmloader”
builder=’hvm’
memory = 2048
name = “rhel52hvm”
vif = [ 'type=ioemu, bridge=eth0' ]
device_model = ‘/usr/lib/xen/bin/stubdom-dm’
boot=”d”
sdl=0
opengl=0
vnc=0
stdvga=0
[root@ServerCentOS52 xen]# cat rhel52hvm-dm
kernel = “/usr/lib/xen/boot/ioemu-stubdom.gz”
vif = [ ' ', 'bridge=eth0']
vfb = [ 'type=vnc' ]
disk = ['file:/etc/xen/isos/rhel52.iso,hdc:cdrom,r','phy:/dev/sda8,hda,w']

Per Xen 3.3 Stubdom Release Notes run:-
# mkdir -p /exports/usr/share/xen/qemu
# ln -s /usr/share/xen/qemu/keymaps /exports/usr/share/xen/qemu
# mkdir -p /exports/var/lib
# ln -s /var/lib/xen /exports/var/lib
# /usr/sbin/fs-backend &
Switch from console to another terminal session :-

# xm create rhel52hvm-stubdom
# vncviewer localhost:0


stubdom1

stubdom2

2. CentOS 5.2 PV DomU installation and run time snapshots :-

rhlpv4

rhlpv5

3. OpenSuse 11 PV DomU run time snapshot:-

suse11pv1

4. Fedora 9 PV DomU installation procedure has been run via profile :-
name=”Fedora9PV”
memory=2048
disk = [‘file:/mnt/etc/xen/isos/f9.iso,xvdb:cdrom,r’,
‘phy:/dev/sda11,xvda,w’ ]
vif = [ ‘bridge=eth0’, ]
vfb = [ ‘type=vnc,vncunused=1’ ]
bootloader = “/usr/bin/pygrub”
kernel = “/images/xen/vmlinuz”
ramdisk = “/images/xen/initrd.img”
vcpus=1
on_reboot = ‘restart’
on_crash = ‘restart’
without any prompt for HTTP Mirror or NFS share

f9pv1

Run time profile

memory = 2048
name = “Fedora9PV”
bootloader=”/usr/bin/pygrub”
vif = [ ‘bridge=eth0’ ]
vfb = [ ‘type=vnc,vncunused=1’ ]
disk = [ ‘phy:/dev/sda11,xvda,w’]

f9pv2

Same install at Xen 3.3.1rc1 (port via http://gitco.de) CentOS 5.2 Dom0 will prompt for either HTTP mirror or NFS shared directory with loop mounted ISO image.
Install Fedora 10 PV DomU via profile:-
[root@ServerRHL vm]# cat f10.cfg
name=”Fedora10PV”
memory=2048
disk = [‘file:/etc/xen/isos/f10.iso,xvdb:cdrom,r’,
‘phy:/dev/sdb9,xvda,w’ ]
vif = [ ‘bridge=eth0’, ]
vfb = [ ‘type=vnc,vncunused=1’ ]
bootloader = “/usr/bin/pygrub”
kernel = “/images/pxeboot/vmlinuz”
ramdisk = “/images/pxeboot/initrd.img”
vcpus=1
on_reboot = ‘restart’
on_crash = ‘restart’
referencing Preview version of DVD ISO, requested to bring VNIC in DHCP mode and went connected to the most recent version of Fedora’s Internet Repositories with no prompts options available. Installer switched to text mode and committed “Office and productivity” install in about 3 hr . VNC at DomU has been setup manually :-

f10startup

f10pvrun

f10sysinfo

References
1.Pygrub & install CentOS 5.2 PV DomU at Xen 3.2 Ubuntu Hardy Dom0 via local HTTP Server (all 64-bit)
2. Getting stubdom working on Xen 3.3 port via http://www.gitco.de/repo/xen3.3.0 to CentOS 5.2
3.Install OpenSuse 11 PV DomU at Xen 3.2 Ubuntu Hardy Dom0 via local HTTP Server (all 64-bit)

Leave a comment