Downgrade udev 157->151 on opensuse 11.3 to bring back to life Xen 4.0 (2.6.34-12-xen)

Well known Bugzilla Bug 1612 “Can’t start VM when vif set and udev version is greater than 151” ([1]) is also affecting xenified aka Suse kernel 2.6.34-12-xen. The workaround for the issue might be udev downgrade from 157 to 151. Following bellow is step by step description of this procedure on Opensuse 11.3 successfully fixed “Hotplug scripts not working” error. Appearance virt-install on Suse 11.3 properly working with Libvirt 0.8.1 also was a bit surprising. However, virt-install works only via command line. Virt-manager invokes old style GUI interface, which crashes same way as it did on 11.2. By some reasons 32-bit runtime environment has to be installed before downgrade. I’ve also installed Miscellaneous, LAMP, DNS+DHCP servers, C/C++ development, rpmbuild development .
*****************************************************************************************************
UPDATE 07/29/2010
*****************************************************************************************************
ftp://ftp.suse.com/pub/projects/kernel/kotd/openSUSE-11.3/x86_64/
Download kernel-xen-2.6.34.1-0.0.17.fdda44d.x86_64.rpm
34984 KB 07/28/2010 07:03:00 PM
and install. It provides kernel working with udev 157
*****************************************************************************************************





All two questions during installing 151’s rpms been built should be answered (1) – downgrade, what will result install 2 and downgrade 2 packages. udev-151-1.3.rpm has to be installed separately via “zypper install –force udev-151-1.3.rpm.” The procedure above seems to myself mostly as a hackery.

# rpm -iv udev-157-3.1.src.rpm
# cd /usr/src/packages/SOURCES
# cp ~boris/udev-151.tar.bz2 .
# rm -f udev-157.tar.bz2
# cd ../SP*
# vi udev.spec

Check SOURCES and build udev’s RPM

linux-5abr:/usr/src/packages/SOURCES # ls -l
total 520
-rw-r--r-- 1 root root 135 May 30 17:26 79-kms.rules
-rw-r--r-- 1 root root 24 Oct 6 2009 baselibs.conf
-rw-r--r-- 1 root root 2000 Jul 5 16:00 boot.udev
-rw-r--r-- 1 root root 783 Jul 9 2009 boot.udev_retry
-rwxr-xr-x 1 root root 509815 Jul 26 16:36 udev-151.tar.bz2
-rw-r--r-- 1 root root 298 Jun 23 2009 udev-rpmlintrc

# cd ../SPECS
# zypper install libselinux-devel libsepol-devel libusb-devel libacl-devel gobject-introspection-devel
# rpmbuild -bb ./udev.spec

When done

# cd ../RPMS/x*
linux-5abr:/usr/src/packages/RPMS/x86_64 # ls -l
total 608
-rwxr--r-- 1 root root 182 Jul 26 16:53 inst.sh
-rw-r--r-- 1 root root 35691 Jul 26 16:41 libgudev-1_0-0-151-3.1.x86_64.rpm
-rw-r--r-- 1 root root 27938 Jul 26 16:41 libgudev-1_0-devel-151-3.1.x86_64.rpm
-rw-r--r-- 1 root root 27236 Jul 26 16:41 libudev-devel-151-3.1.x86_64.rpm
-rw-r--r-- 1 root root 65173 Jul 26 16:41 libudev0-151-3.1.x86_64.rpm
-rw-r--r-- 1 root root 458517 Jul 26 16:41 udev-151-3.1.x86_64.rpm

linux-5abr:/usr/src/packages/RPMS/x86_64 # cat inst.sh
zypper install udev-151-3.1.x86_64.rpm \
libgudev-1_0-0-151-3.1.x86_64.rpm \
libgudev-1_0-devel-151-3.1.x86_64.rpm \
libudev-devel-151-3.1.x86_64.rpm \
libudev0-151-3.1.x86_64.rpm

Attempt to run ./inst.sh plus

# zypper install --force udev-151-3.1.x86_64.rpm

Two questions during installing rpms above should be answered (1) – downgrade, what will result install 2 and downgrade 2 packages. udev-151-1.3.rpm has to be installed separately via “zypper install –force udev-151-1.3.rpm.”
Finally :-

linux-5abr:~ # rpm -qa|grep udev
libgudev-1_0-devel-151-3.1.x86_64
libudev0-32bit-157-3.1.x86_64
libudev0-151-3.1.x86_64
libgudev-1_0-0-32bit-157-3.1.x86_64
libgudev-1_0-0-151-3.1.x86_64
udev-configure-printer-1.2.0-1.14.x86_64
udev-151-3.1.x86_64
libudev-devel-151-3.1.x86_64

Reboot into xen environment and run :-

# virt-install -n VFM -r 1024 -p –vnc -f /dev/sdb6 \
-l http://192.168.1.6/f13 –debug
Mon, 26 Jul 2010 19:04:10 DEBUG Launched with command line:
/usr/bin/virt-install -n VFM -r 1024 -p –vnc -f /dev/sdb6 -l http://192.168.1.6/f13 –debug
Mon, 26 Jul 2010 19:04:10 DEBUG Requesting libvirt URI default
Mon, 26 Jul 2010 19:04:10 DEBUG Received libvirt URI xen:///
Mon, 26 Jul 2010 19:04:10 DEBUG Requesting virt method ‘xen’, hv type ‘default’.
Mon, 26 Jul 2010 19:04:10 DEBUG Received virt method ‘xen’
Mon, 26 Jul 2010 19:04:10 DEBUG Hypervisor name is ‘xen’
Mon, 26 Jul 2010 19:04:10 DEBUG Didn’t match keymap ‘english-us,pc104′ in keytable!
Mon, 26 Jul 2010 19:04:10 DEBUG DistroInstaller location is a network source.

Starting install…
Mon, 26 Jul 2010 19:04:10 DEBUG Attempting to detect distro:
Mon, 26 Jul 2010 19:04:10 DEBUG Fetching URI: http://192.168.1.6/f13/.treeinfo
Mon, 26 Jul 2010 19:04:10 DEBUG Saved file to /var/lib/xen/virtinst-.treeinfo.njcEmZ
Retrieving file .treeinfo 100% |=========================| 1.2 kB 00:00
Mon, 26 Jul 2010 19:04:10 DEBUG Fetching URI: http://192.168.1.6/f13/images/pxeboot/vmlinuz
Mon, 26 Jul 2010 19:04:11 DEBUG Saved file to /var/lib/xen/virtinst-vmlinuz.RkdWNg
Retrieving file vmlinuz.. 100% |=========================| 3.3 MB 00:00
Mon, 26 Jul 2010 19:04:11 DEBUG Fetching URI: http://192.168.1.6/f13/images/pxeboot/initrd.img
Retrieving file initrd.im 85% |===================== | 24 MB 00:00 ETA Mon, 26 Jul 2010 19:04:12 DEBUG Saved file to /var/lib/xen/virtinst-initrd.img.4Ak3gd
Retrieving file initrd.im 100% |=========================| 28 MB 00:01
Mon, 26 Jul 2010 19:04:12 DEBUG Auto detected OS type as: linux
Mon, 26 Jul 2010 19:04:12 DEBUG Auto detected OS variant as: fedora13
Mon, 26 Jul 2010 19:04:12 DEBUG Generated install XML:
<domain type=’xen’>
<name>VFM</name>
<currentMemory>1048576</currentMemory>
<memory>1048576</memory>
<uuid>14e26f91-faee-828e-7338-4c84083fc1d4</uuid>
<os>
<type arch=’x86_64′>linux</type>
<kernel>/var/lib/xen/virtinst-vmlinuz.RkdWNg</kernel>
<initrd>/var/lib/xen/virtinst-initrd.img.4Ak3gd</initrd>
<cmdline>method=http://192.168.1.6/f13</cmdline>
</os>
<on_poweroff>destroy</on_poweroff>
<on_reboot>destroy</on_reboot>
<on_crash>destroy</on_crash>
<vcpu>1</vcpu>
<devices>
<disk type=’block’ device=’disk’>
<source dev=’/dev/sdb6’/>
<target dev=’xvda’ bus=’xen’/>
</disk>
<interface type=’bridge’>
<source bridge=’br0’/>
<mac address=’00:16:36:1a:11:46’/>
</interface>
<input type=’mouse’ bus=’xen’/>
<graphics type=’vnc’ port=’-1′ keymap=’en-us’/>
<video>
<model type=’cirrus’/>
</video>
</devices>
</domain>

Creating domain… 0 B 00:01
Mon, 26 Jul 2010 19:04:13 DEBUG Started guest, looking to see if it is running
Mon, 26 Jul 2010 19:04:13 DEBUG Launching console callback
Mon, 26 Jul 2010 19:04:13 DEBUG Generated boot XML:
<domain type=’xen’>
<name>VFM</name>
<currentMemory>1048576</currentMemory>
<memory>1048576</memory>
<uuid>14e26f91-faee-828e-7338-4c84083fc1d4</uuid>
<bootloader>/usr/bin/pygrub</bootloader>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<vcpu>1</vcpu>
<devices>
<disk type=’block’ device=’disk’>
<source dev=’/dev/sdb6’/>
<target dev=’xvda’ bus=’xen’/>
</disk>
<interface type=’bridge’>
<source bridge=’br0’/>
<mac address=’00:16:36:1a:11:46’/>
</interface>
<input type=’mouse’ bus=’xen’/>
<graphics type=’vnc’ port=’-1′ keymap=’en-us’/>
<video>
<model type=’cirrus’/>
</video>
</devices>
</domain>

xpath.c:14859: XPath error : NULL context pointer
Mon, 26 Jul 2010 19:36:20 DEBUG Removing /var/lib/xen/virtinst-vmlinuz.RkdWNg
Mon, 26 Jul 2010 19:36:20 DEBUG Removing /var/lib/xen/virtinst-initrd.img.4Ak3gd
Guest installation complete… restarting guest.
Mon, 26 Jul 2010 19:36:23 DEBUG Launching console callback
xpath.c:14859: XPath error : NULL context pointer







Virt-manager appears also to be functional for DomUs created via virt-install



Suse 11.3 and F13 PV Guests running at a time





*********************************************************************************************************************
UPDATE on 07/28/2010
*********************************************************************************************************************
Virt-install HVM hangs attemting to relaunch console and places system into paused state.System
reboot allows to start and run HVM DomU. However, after HVM DomU has been run attempt to start
any other DomU failes. Two kinds of errors came up :-
1.
Traceback (most recent call last):
File “/usr/share/virt-manager/virtManager/engine.py”, line 824, in run_domain
vm.startup()
File “/usr/share/virt-manager/virtManager/domain.py”, line 1286, in startup
self._backend.create()
File “/usr/lib64/python2.6/site-packages/libvirt.py”, line 333, in create
if ret == -1: raise libvirtError (‘virDomainCreate() failed’, dom=self)
libvirtError: POST operation failed: xend_post: error from xen daemon:
(xend.err ‘Not enough memory is available, and dom0 cannot be shrunk any further’)
2.
Traceback (most recent call last):
File “/usr/share/virt-manager/virtManager/engine.py”, line 824, in run_domain
vm.startup()
File “/usr/share/virt-manager/virtManager/domain.py”, line 1286, in startup
self._backend.create()
File “/usr/lib64/python2.6/site-packages/libvirt.py”, line 333, in create
if ret == -1: raise libvirtError (‘virDomainCreate() failed’, dom=self)
libvirtError: POST operation failed: xend_post: error from xen daemon:
(xend.err ‘Device 0 (vif) could not be connected. Hotplug scripts not working.’)
*************************************************************************************************************************
References
1.http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1612

Leave a comment