[Fedora-xen] problems with rhel4(clone) as DomainU on FC6 Xen host

Jeroen Beerstra webmaster at livebands.nl
Thu Jan 4 03:13:33 UTC 2007


hi there,

I am currently playing around with the Xen support in FC6. Installation of Xen 
and FC6 Domain0, setting up a FC6 guest with virt-manager all went well, 
however I did not succeed in running a second RHEL4(clone) guest I prepped 
with Qemu.

It took quite some time to figure things out, firstly the host is x86_64 and 
the guest is/was a 32 bit X/OS (Dutch RHEL clone) desktop , but if I 
understand things correctly there shouldn't be any problems when running a 64 
bit kernel with 32 bit userland. Then I had to learn that a initrd for  
domain0 is not the same as one for a domainU :) After that the guest booted 
with the FC6 Xen kernel when I disabled SELinux , however  udev fails to 
start which makes the bootup stop on filesystem check time because I used the 
default LVM setup and the LVM devices are not created, so the rootfs cannot 
be found. The repair shell however showed the rootfs is mounted 
on /dev/mapper/VolGroup00-LogVol00 ro and a remount rw does work even 
though /dev/mapper/VolGroup00-LogVol00 does not seem to exist :?

So I decided I needed a Xen enabled RHEL4 x86_64 kernel and got it from  
http://people.redhat.com/~jbaron/rhel4/RPMS.kernel/.
I could also convert the image to a non LVM one (the Centos4.4 guest from 
jailtime.org does bootup properly even though it has the same udev problem, 
because of this), but I rather have a fully functional X/OS. 

Ofcourse there were problems. I could not install the x86_64 kernel inside the 
X/OS guest booted with Qemu so I tried manually putting things in place. 
Running '/sbin/new-kernel-pkg --package 
kernel-xenU --mkinitrd --depmod --install 2.6.9-42.36.ELxenU' produced some 
errors related to strip and 64bit kernel modules, but the initrd got created. 
I'm sure I can work around this if needed, however Xen crashes on the RHEL4 
Xen kernel right away:

# xm create -c VirtualXOS4_test
Using config file "VirtualXOS4_test".
Started domain VirtualXOS4
xen_start_info @ffffffff8068a000
shared @m0000fc7000 @ffffffff80107000=@ffffffffff5fd000 [0x802]
xen_start_info: @ffffffff8068a000
 cr3 0000000000101000 pml4p ffffffff80101ff8
 pml4e 0000000000103067 (real 0000000028292067) pgdp ffffff8000103ff0
 pgde 0000000000105067 (real 00000000064cc067) pmdp ffffff8000105018
 pmde 0000000000693067 (real 0000000066165067) ptep ffffff8000693450
 pte 001000000068a027 (real 0010000006c13027)
xen_shared_info: @ffffffffff5fd000
 cr3 0000000000101000 pml4p ffffffff80101ff8
 pml4e 0000000000103067 (real 0000000028292067) pgdp ffffff8000103ff8
 pgde 0000000000000000 is none
PAGE_OFFSET+1.2: @ffffff8000001000
 cr3 0000000000101000 pml4p ffffffff80101ff8
 pml4e 0000000000103067 (real 0000000028292067) pgdp ffffff8000103000
 pgde 0000000000694067 (real 00000000567a2067) pmdp ffffff8000694000
 pmde 0000000000695067 (real 0000000067e6c067) ptep ffffff8000695008
 pte 0000000000001167 (real 0000000008709167)

Is the RHEL4 Xen kernel incompatible with FC6 Xen? If so does anybody know if 
an updated version exists and were to get it?

And then there is pygrub, with the FC6 guest created by virt-manager this 
works like a charm, however with the X/OS guest it just won't work:

# xm create -c VirtualXOS4
Using config file "VirtualXOS4".
Going to boot X/OS Linux (2.6.9-42.36.ELxenU)
  kernel: /vmlinuz-2.6.9-42.36.ELxenU
  initrd: /initrd-2.6.9-42.36.ELxenU.img
Error: invalid literal for int(): gh

I even tried copying over the grub installation from the FC6 x86_64 guest, but 
the problem remains. Anybody has any idea why pygrub is failing:

Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
194, in create
    vm.construct()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
1257, in construct
    handle = uuid.fromString(self.info['uuid']))
  File "/usr/lib64/python2.4/site-packages/xen/xend/uuid.py", line 67, in 
fromString
    return [ int(s[i : i + 2], 16) for i in range(0, 32, 2) ]
ValueError: invalid literal for int(): gh
[2007-01-04 03:47:06 xend.XendDomainInfo 3323] DEBUG (XendDomainInfo:1449) 
XendDomainInfo.destroy: domid=None
[2007-01-04 03:47:06 xend 3323] ERROR (xmlrpclib2:184) invalid literal for 
int(): gh
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xen/util/xmlrpclib2.py", line 162, 
in _marshaled_dispatch
    response = self._dispatch(method, params)
  File "/usr/lib64/python2.4/SimpleXMLRPCServer.py", line 406, in _dispatch
    return func(*params)
  File "/usr/lib64/python2.4/site-packages/xen/xend/server/XMLRPCServer.py", 
line 64, in domain_create
    info = XendDomain.instance().domain_create(config)
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomain.py", line 228, 
in domain_create
    dominfo = XendDomainInfo.create(config)
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
194, in create
    vm.construct()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
1257, in construct
    handle = uuid.fromString(self.info['uuid']))
  File "/usr/lib64/python2.4/site-packages/xen/xend/uuid.py", line 67, in 
fromString
    return [ int(s[i : i + 2], 16) for i in range(0, 32, 2) ]
ValueError: invalid literal for int(): gh

-- 
regards,

Jeroen Beerstra




More information about the Fedora-xen mailing list