[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Xen and megaraid Drivers CentOS 4



Andrew,

Any *binary* drivers supplied by a hardware vendor for a specific Linux distro will be for the (native) kernel that ships with that distro so won't generally work as-is with a Xen kernel.

SO we need to build the source. There are two options:

(1) use a driver in the Linux tree - I'm not sure if the current driver supports your particular card, perhaps someone else here can confirm? In fact I think our binary distribution has this already so if it doesn't work for you then the driver in 2.6.11 may not support your card.

(2) use source code supplied by LSI and build a module against the Xen kernel - this should generally work fine unless the vendor has cut corners with assumptions about the hardware platform.

To do (1):

* download the Xen source distribution. It is easiest to do a "make world" first so that everything is in position.
 * change into the dom0 linux build directory: cd linux-2.6.11-xen0
 * reconfigure the kernel using (e.g.): make ARCH=xen xconfig
 * select the megaraid driver.
 * change directory back up a level
* perform a make (*not* 'make world' as this will overwrite config changes)
 * reinstall the Xen0 kernel and modules

To do (2) *in general*:

 * unpack the driver source
* see the driver documentation to find out how to point it at the kernel headers, point this at <path to you xen tree>/linux-2.6.11-xen0/include/linux
 * make ARCH=xen

LSI ship DKMS (http://linux.dell.com/projects.shtml#dkms) style source. I've got doubts as to how well this works with the build mechanism for Xen kernels so an alternative approach would be to manually merge the LSI source into the Xen0 build tree. I just tried this using the following command sequence (having downloaded dr_linux_2.20.4.6_as40.zip to /tmp):

MY_XEN_TREE=/local/xen-2.0.6-build
cd /tmp
unzip dr_linux_2.20.4.6_as40.zip
rpm2cpio \
  megaraid-v2.20.4.6-for-redhat-rhel-4-ga-kernel2.6.9-5.EL-x86.rpm \
  | cpio -idv
mv $MY_XEN_TREE/linux-2.6.11-xen0/drivers/scsi/megaraid \
  $MY_XEN_TREE/linux-2.6.11-xen0/drivers/scsi/megaraid.orig
cp -a /tmp/usr/src/megaraid-v2.20.4.6 \
  $MY_XEN_TREE/linux-2.6.11-xen0/drivers/scsi/megaraid

The follow the steps for (1) above. This builds cleanly for me but I don't have this hardware to test.

If you choose to build the driver as a module then you'll need to:

depmod -a 2.6.11.10-xen0
mkinitrd /boot/initrd-2.6.11.10-xen0.img 2.6.11.10-xen0

and add a grub module line for that initrd.

James

Andrew Turnbull wrote:
Hi there

I am managed to get Xen stable 2.0.6 working.

I have 1 IDE (PATA) drive and 2 SATA drives connected to a Megaraid 300-8X.

I have got everything working apart from I cannot figure out howto
recompile the Xen Kernel with the support for the megaraid drivers in
there.

Furthermore I dont really know how to get the drivers into the correct
place to compile them. I have never really messed around with Kernels
before.

The system is Centos 4, (RHEL 4) and the drivers are available on
www.lsilogic.com for this distro.

Thanks in advance

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.