xen-users
[Xen-users] 9650SE / 3w-9xxx problem, Xen 3.1.0
Hello all,
Summary: I can't get a Xen 3.1.0 kernel to support my RAID controller.
Silicon Mechanics Rackform iServ R272
- 2x Xeon 5150 (x86_64), 8 GB RAM
- 3ware 9650SE-8LPML PCIe-x4 8-port SATA II RAID controller
- Debian etch (4.0 r0)
The 9560SE card is supported by kernel 2.6.19 and higher. Since this
Debian release is based on 2.6.18, I used a 3ware-provided installation
CD image that contains the 3w-9xxx driver backported to 2.6.18.
I downloaded, MD5-verified, and unzipped xen-3.1.0-src.tgz. I did a
"make world" and then "make install" without any problems.
The new Xen image boots, but since it's based on a stock 2.6.18 kernel,
it doesn't have the backported driver. Therefore, it doesn't detect the
RAID controller and can't find the root filesystem.
3ware makes the 2.6.18 3w-9xxx driver, with support for the 9650SE,
available from their web site. The tarball contains 3w-9xxx.c,
3w-9xxx.h, and a Makefile which needs to be edited to point to the
kernel source tree.
I used /usr/src/xen-3.1.0-src/linux-2.6.18-xen and the build died:
make[1]: Entering directory `/usr/src/xen-3.1.0-src/linux-2.6.18-xen'
ERROR: Kernel configuration is invalid.
include/linux/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
I followed the instructions and re-tried the build. The 3w-9xxx.c file
compiled, but then this happened:
Building modules, stage 2.
make -rR -f /usr/src/xen-3.1.0-src/linux-2.6.18-xen/scripts/Makefile.modpost
scripts/mod/modpost -m -i
/usr/src/xen-3.1.0-src/linux-2.6.18-xen/Module.symvers -I
/usr/src/driver/Module.symvers -o /usr/src/driver/Module.symvers
/usr/src/driver/3w-9xxx.o
/bin/sh: scripts/mod/modpost: No such file or directory
I switched back to the Xen Linux directory and ran 'make'. The kernel
took a while to build (shouldn't this have been taken care of by the
main Xen 'make world'?). After that, I was able to build the driver and
copy the resulting 3w-9xxx.ko file to the
/lib/modules/2.6.18-xen/kernel/drivers/scsi directory.
I then ran:
# depmod -a 2.6.18-xen
# mkinitramfs -o /boot/initrd.img-2.6.18-xen 2.6.18-xen
My GRUB menu.lst contains:
title Xen 3.1.0 / XenLinux 2.6
kernel /boot/xen-3.1.0.gz console=vga
module /boot/vmlinuz-2.6.18-xen root=/dev/sda1 ro
module /boot/initrd.img-2.6.18-xen
On bootup, the last few lines are as follows:
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top
Begin: Waiting for root file system... ...
It just hangs here. I can shift-PgUp through the text, and there is no
mention of the 9650SE being found.
Finally, I pulled open the initrd.img file and appended "/sbin/modprobe
3w-9xxx" to the 'scripts/local-top/udev_helper' file. Booting up, I
received this message:
3w_9xxx: disagrees about version of symbol struct_module
FATAL: Error inserting 3w_9xxx (...): Invalid module format
I was dropped to a BusyBox shell after the system again failed to find
the root filesystem. (I don't understand why the module is being
referred to as "3w_9xxx" when it's "3w-9xxx" everywhere else...)
Am I doing something wrong here? Thanks.
--
Kevin DeGraaf
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|
|
|