|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-users] Notes on upgrading to xen-4.2.0 and linux-3.6.0 under OpenSuse 12.1
I recently undertook to install xen-4.2.0 and to update the kernel to something
resembling the current release. Previously, I had installed xen with the
openSUSE package manager, but I had not done much with it, and anyways the
kernel version was something like 3.1.10, with various openSUSE patches
originating as far back as 2.6.18. Current kernels are reported to support xen
without patching. I previously had xen working solidly on a small Thinkpad
back in 2009, but the hardware died and other things got in the way of making
xen work again.
The first serious attempt I made was with kernel version 3.5.4, which seemingly
booted ok, however the graphics driver (i915) failed to work properly and the
video RAM was not initialized, leaving characteristic random noise all over the
root window. FVWM2 started, however on loading the Gnome desktop something
killed gnome-settings-daemon and gnome-shell. There also seemed to be problems
with gcc. Much as I hate Gnome, it works with my HDTV and switching to a more
basic desktop was not what I wanted. That said, LXDE worked. The offending
message:
[ 61.963639] [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU
hung
[ 61.963646] [drm] capturing error event; look for more information in
/debug/dri/0/i915_error_state
[ 62.483674] [drm:i915_reset] *ERROR* Failed to reset chip.
Networking was AFU; I saw the following in the system logs:
[ 80.931659] IPv4: martian source 10.xx.xx.xx from 10.232.60.3, on dev eth0
[ 80.931666] ll header: 00000000: ff ff ff ff ff ff 00 09 6b bf d7 93 08 06
........k.....
[ 81.922691] IPv4: martian source 10.xx.xx.xx from 10.232.60.3, on dev eth0
[ 81.922697] ll header: 00000000: ff ff ff ff ff ff 00 09 6b bf d7 93 08 06
........k.....
which I believe should have been DNS requests from local hosts coming in over
ethernet, a "RTL8111/8168B P 106353 CI Express Gigabit Ethernet controller (rev
06)".
The same kernel running standalone worked fine, but under xen it was hopeless.
On one occasion I noticed that the CPU microcode was not being updated while
booting xen dom0. Noting that xen 4.2.0 has the capability of updating the
microcode, I thought I could cure the problem by making xen do it. The
microcode.dat file supplied with openSUSE lives in /lib/firmware and is a tar
archive containing the microcode.dat file presumably obtained from Intel. I
found that Xen expects a binary blob, so I quickly wrote a conversion utility,
which I have attached to this message. See the README file for instructions.
Updating the CPU microcode didn't help at all, so I set out to try every major
kernel version to see if anything worked. I compiled unpatched kernels for
3.4.9, 3.2.30, and 3.1.10 each using the .config generated for 3.5.4 as a
starting point. All of these kernels booted as dom0, and standalone, but none
of them worked correctly, with earlier kernels locking up solid. 3.4-series
kernels worked, however graphics were still a problem.
Final attempt was with the just-released 3.6.0 kernel, which also exhibited the
same behavior as 3.4-series kernels, however networking worked properly. I
decided to try a different video driver, so I added 'intelfb' to the
/etc/sysconfig/kernel and then rebuilt the initrds. I added "video=intelfb" to
the kernel parameters in the grub2 menu entry and rebooted. Everything works
fine, although I was prepared to fall back to the VESA framebuffer
(video=vesafb). This has saved me from attempting to forward-port openSUSE
i915 changes in an attempt to resolve video framebuffer issues. Note that the
openSUSE installation process selected the i915 driver as suitable for the
shipped 3.1.0-1.2 version kernel.
So, xen-4.2 with linux-3.6 is a success as dom0.
Hardware: HP ProBook 4530s, i3-2230M 2200Mhz, 8G RAM
Now the fun begins. I'd like to torture the bastard who wrote the networking
scripts to rename interfaces, it is completely unnecessary. There are dynamic
interactions with other interfaces if eth0 (sorry, peth0) is is taken down such
as the immediate renaming of the wlan interface. This all might work with
NetworkManager if it were not for all of this extra complexity.
Bridging is dead simple to configure, for example:
ifconfig eth0 xx.xx.xx.xx netmask 255.255.255.0
brctl addbr xenbr1
brctl addif xenbr1 eth0
That's all there is to it. From there, as xen domU instances are created, the
virtual network interface can be added to the bridge with the single command
"brctl addbr xenbr1 vifxx. Furthermore, there's a better way to do it. The
default kernels don't tend to include the dummy network devices, which I had
used previously with xen and vif-bridge. NetworkManager doesn't seem to notice
the dummy network interfaces, so coexistence might be trivial -- IF the scripts
didn't muck about with renaming network interfaces. It is such a PITA. Even
specifying a previously configured bridge on dummy0 in the xl.conf file results
in automatic mucking about with eth0.
Once I've resolved the issues with the xen scripts taking-over the network
configuration, I'll hopefully be able to post instructions on how this can be
avoided. Then I'll be able to see what happens when I start a domU.
Regards,
Steve Thompson
Attachment:
cvt_ucode-20121002.tar.gz _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxx http://lists.xen.org/xen-users
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |