[CentOS] Question about running a CentOS4.8 (32-bit) guest under CentOS5.4xen (64-bit)

Fri Jan 22 21:37:30 UTC 2010
Robert Heller <heller at deepsoft.com>

I am trying to run my old CentOS4.8 (32-bit) system as a guest system
under CentOS5.4xen (64-bit).  I followed the instructions in Appendix A
of the xen user manual (/usr/share/doc/xen-3.0.3/pdf/user.pdf) and
created a 'disk image' (actually a 10gig LVM logical volume:

sauron.deepsoft.com% sudo fdisk -l /dev/mapper/sauron-c4guest

Disk /dev/mapper/sauron-c4guest: 10.7 GB, 10737418240 bytes
16 heads, 32 sectors/track, 40960 cylinders
Units = cylinders of 512 * 512 = 262144 bytes

                     Device Boot      Start         End      Blocks   Id
 System
/dev/mapper/sauron-c4guest1   *           1       40960    10485744   83
 Linux
sauron.deepsoft.com% sudo lomount -t ext3 -diskimage
/dev/mapper/sauron-c4guest -partition 1 /mnt/guest
sauron.deepsoft.com% ls -ltr /mnt/guest/boot
total 17432
-rw-r--r-- 1 root root   51614 Jan 21 20:35 config-2.6.9-89.0.11.EL
-rw-r--r-- 1 root root 1425764 Jan 21 20:35 initrd-2.6.9-89.0.16.EL.img
-rw-r--r-- 1 root root  832064 Jan 21 20:35 initrd-2.6.9-89.0.15.EL.img
-rw-r--r-- 1 root root  832055 Jan 21 20:35 initrd-2.6.9-89.0.11.EL.img
-rw-r--r-- 1 root root  766328 Jan 21 20:35 initrd-2.6.9-78.0.22.EL.img-orig
-rw-r--r-- 1 root root   51613 Jan 21 20:35 config-2.6.9-89.0.9.EL
-rw-r--r-- 1 root root   55212 Jan 21 20:35 config-2.6.9-89.0.18.EL.plus.c4
-rw-r--r-- 1 root root   51614 Jan 21 20:35 config-2.6.9-89.0.16.EL
-rw-r--r-- 1 root root   51614 Jan 21 20:35 config-2.6.9-89.0.15.EL
-rw-r--r-- 1 root root  768504 Jan 21 20:35 System.map-2.6.9-89.0.9.EL
-rw-r--r-- 1 root root  787043 Jan 21 20:35 System.map-2.6.9-89.0.18.EL.plus.c4
-rw-r--r-- 1 root root  768660 Jan 21 20:35 System.map-2.6.9-89.0.16.EL
-rw-r--r-- 1 root root  768660 Jan 21 20:35 System.map-2.6.9-89.0.15.EL
-rw-r--r-- 1 root root  768606 Jan 21 20:35 System.map-2.6.9-89.0.11.EL
-rw-r--r-- 1 root root   67596 Jan 21 20:35 symvers-2.6.9-89.0.9.EL.gz
-rw-r--r-- 1 root root   78176 Jan 21 20:35 symvers-2.6.9-89.0.18.EL.plus.c4.gz
-rw-r--r-- 1 root root   67596 Jan 21 20:35 symvers-2.6.9-89.0.16.EL.gz
-rw-r--r-- 1 root root   67596 Jan 21 20:35 symvers-2.6.9-89.0.15.EL.gz
-rw-r--r-- 1 root root   67596 Jan 21 20:35 symvers-2.6.9-89.0.11.EL.gz
-rw-r--r-- 1 root root  832001 Jan 21 20:35 initrd-2.6.9-89.0.9.EL.img
-rw-r--r-- 1 root root 1533159 Jan 21 20:35 vmlinuz-2.6.9-89.0.9.EL
-rw-r--r-- 1 root root 1579298 Jan 21 20:35 vmlinuz-2.6.9-89.0.18.EL.plus.c4
-rw-r--r-- 1 root root 1536244 Jan 21 20:35 vmlinuz-2.6.9-89.0.16.EL
-rw-r--r-- 1 root root 1536207 Jan 21 20:35 vmlinuz-2.6.9-89.0.15.EL
-rw-r--r-- 1 root root 1533468 Jan 21 20:35 vmlinuz-2.6.9-89.0.11.EL
drwxr-xr-x 2 root root    4096 Jan 21 20:36 grub
-rw-r--r-- 1 root root  796960 Jan 22 15:35 initrd-2.6.9-89.0.18.EL.plus.c4.img
sauron.deepsoft.com% cat /mnt/guest/boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sauron/c5root
#          initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
#splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS4 (2.6.9-89.0.18.EL.plus.c4)
	root (hd0,0)
	kernel /boot/vmlinuz-2.6.9-89.0.18.EL.plus.c4 ro root=/dev/hda1 single
	initrd /boot/initrd-2.6.9-89.0.18.EL.plus.c4.img

pygrub seems to be happy:

sudo /usr/bin/pygrub /dev/mapper/sauron-c4guest

[Reasonable imitation of a Grub boot screen]

linux (kernel /var/lib/xen/boot_kernel.8bcf-G)(ramdisk /var/lib/xen/boot_ramdisk

But when I try to start the guest, I get:

error: POST operation failed: xend_post: error from xen daemon:
(xend.err "Error creating domain: (2, 'Invalid kernel',
'xc_dom_find_loader: no loader found\\n')")

I googled this error message and the only hits I got were about FC11 or
FC12 and some issue relating to how the kernel image was compressed,
which probably does not relate to an *older* CentOS 4 kernel.

The config file for this guest is: 

sauron.deepsoft.com% sudo cat /etc/xen/c4guest
name = "c4guest"
uuid = "06bfb4e1-c427-c93c-2365-b80b832bb6d4"
maxmem = 512
memory = 512
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
disk = [ "phy:/dev/mapper/sauron-c4guest,xvda,w" ]
vif = [ "mac=00:16:36:0a:d9:ac,bridge=virbr0,script=vif-bridge" ]

What am I missing?

It also appears I am limited to paravirtualization (does this matter?),
because my processor does not seem to support hardware virtualization
support:

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 127
model name	: AMD Sempron(tm) Processor LE-1300
stepping	: 2
cpu MHz		: 1000.000
cache size	: 512 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow up pni cx16 lahf_lm extapic cr8_legacy misalignsse
bogomips	: 2000.01
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps



-- 
Robert Heller             -- 978-544-6933
Deepwoods Software        -- Download the Model Railroad System
http://www.deepsoft.com/  -- Binaries for Linux and MS-Windows
heller at deepsoft.com       -- http://www.deepsoft.com/ModelRailroadSystem/