On Thu, May 7, 2009 at 8:58 PM, Mark Johnson <[email protected]> wrote:
> Fajar A. Nugraha wrote:
>>> Nils Goroll wrote:
>>>>
>>>> A CentOS 5.3 domU on snv_111 dom0 is crashing on bott unless I remove
>>>> /lib/modules/2.6.18-128.1.6.el5/kernel/drivers/xenpv_hvm
>>>
>>> Do you know if this works on a Linux dom0?
>>
>> Yup. Works perfectly.
>> Tested on RHEL5.3 with Xen 3.3.1
>
> Just to be clear, a RHEL 5.3 HVM guest with PV drivers works
> fine on a Linux dom0 (and the PV drivers are actually being used)?

Correct. And I can get it running on opensolaris dom0 as well, with a
workaround. It's quite a long story.

I'm using RHEL5.3 x86_64 as dom0 and Centos 5.3 x86_64 HVM domU, with
Xen 3.3.1. By default PV drivers are LOADED, but not USED. hda is
still handled by ata_piix, and eth0 handled by 8139cp. xen-vbd is
loaded, but it does not have any devices (because hda is already
handled by ata_piix). xen-net is loaded and got eth1 with the same MAC
address as eth0.

During boot, you can see that xen-vbd tries to grab hda but cannot
(I'll get to this later). This works fine in Linux, domU can continue
to boot. To get domU to actually USE the PV drivers for hda and eth0,
some steps are required : http://pastebin.com/fb6fe631

The point here is that on Linux dom0, whatever driver handles hda,
domU can continue to work.

Now here comes the funny part. In opensolaris dom0, the process of
xen-vbd trying to grab hda actually cause KERNEL PANIC.

So here's what I did to get it working on opensolaris dom0:
- do a zvol-backed fresh-install of Centos 5.3 on opensolaris dom0. I
got kernel-2.6.18-128.el5. It panics on the first reboot.
- export the zvol with iscsi, mount on linux, move
/lib/modules/2.6.18-128.el5/kernel/drivers/xenpv_hvm/blkfront/xen-vbd.ko
out of the way (I simply rename it to xen-vbd.ko.disabled)
- startup domU again on opensolaris
- edit /etc/modprobe.conf, add "alias scsi_hostadapter2 xen-vbd". This
will ensure xen-vbd is included on initrd later.
- yum  -y install kernel. I'll get kernel-2.6.18-128.1.6.el5, and
during the installation process it also generates
initrd-2.6.18-128.1.6.el5.img which contains xen-vbd.ko.
- edit /boot/grub/menu.lst to look like this

title CentOS (2.6.18-128.1.6.el5)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.18-128.1.6.el5 ro root=LABEL=/ ide0=noprobe
        initrd /boot/initrd-2.6.18-128.1.6.el5.img

the part "ide0=noprobe" tells ata_piix (or is it libata?) to NOT probe
hda and hdb.
- reboot

On the reboot process you can see that xen-vbd now handles hda. Note
that hdc (the cdrom) is still handled by ide-cd. As a bonus, xen-net
now handles eth0.

[r...@localhost ~]# ls -lad /sys/block/hd*/device
/sys/block/hd*/device/driver/module
/sys/class/net/eth*/device/driver/module
lrwxrwxrwx 1 root root 0 May  8 03:57 /sys/block/hda/device ->
../../devices/xen/vbd-768
lrwxrwxrwx 1 root root 0 May  8 04:19
/sys/block/hda/device/driver/module -> ../../../../module/xen_vbd
lrwxrwxrwx 1 root root 0 May  8 03:57 /sys/block/hdc/device ->
../../devices/pci0000:00/0000:00:01.1/ide1/1.0
lrwxrwxrwx 1 root root 0 May  8 04:19
/sys/block/hdc/device/driver/module -> ../../../../module/ide_cd
lrwxrwxrwx 1 root root 0 May  8 04:17
/sys/class/net/eth0/device/driver/module ->
../../../../module/xen_vnif
lrwxrwxrwx 1 root root 0 May  8 04:19
/sys/class/net/eth1/device/driver/module -> ../../../../module/8139cp

Regards,

Fajar
_______________________________________________
xen-discuss mailing list
[email protected]

Reply via email to