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@lists.xensource.com http://lists.xensource.com/xen-users
Hello Kevin,> 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.Take the debian xen kernel and the binary xen-3.1.0-tgz. Then follow this (remove -amd64 if you need to): apt-get install linux-headers-2.6.18-4-amd64 build-essential cd /usr/src ln -s linux-headers-2.6.18-4-amd64 linux wget http://www.3ware.com/KB/attachments/90-3w-9xxx_for2.6.18kernel_v2.26.06.002-9.4.1.1-GUIDdcf1c4383d2f42439228afa9a5ff1a83.tgz tar xzf 90* cd driver make cp -f /lib/modules/2.6.18-4-amd64/kernel/drivers/scsi/3w-9xxx.ko /lib/modules/2.6.18-4-amd64/kernel/drivers/scsi/3w-9xxx.ko-orig cp -f /usr/src/3ware/driver/3w-9xxx.ko /lib/modules/2.6.18-4-amd64/kernel/drivers/scsi/3w-9xxx.ko depmod -a echo 3w-9xxx >> /etc/modules modprobe 3w-9xxx update-initramfs -u -k all reboot Regards, Bjoern _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
> -----Original Message----- > From: xen-users-bounces@lists.xensource.com > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of > Björn Metzdorf > Sent: Monday, June 11, 2007 1:44 PM > To: Kevin DeGraaf > Cc: xen-users@lists.xensource.com > Subject: Re: [Xen-users] 9650SE / 3w-9xxx problem, Xen 3.1.0 > > Hello Kevin, > > > 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. > > Take the debian xen kernel and the binary xen-3.1.0-tgz. > > Then follow this (remove -amd64 if you need to): > > apt-get install linux-headers-2.6.18-4-amd64 build-essential > cd /usr/src ln -s linux-headers-2.6.18-4-amd64 linux wget > http://www.3ware.com/KB/attachments/90-3w-9xxx_for2.6.18kernel > _v2.26.06.002-9.4.1.1-GUIDdcf1c4383d2f42439228afa9a5ff1a83.tgz > tar xzf 90* > cd driver > make > cp -f /lib/modules/2.6.18-4-amd64/kernel/drivers/scsi/3w-9xxx.ko > /lib/modules/2.6.18-4-amd64/kernel/drivers/scsi/3w-9xxx.ko-orig > cp -f /usr/src/3ware/driver/3w-9xxx.ko > /lib/modules/2.6.18-4-amd64/kernel/drivers/scsi/3w-9xxx.ko > depmod -a > echo 3w-9xxx >> /etc/modules > modprobe 3w-9xxx > update-initramfs -u -k all > reboot > > Regards, > Bjoern > > _______________________________________________ > Xen-users mailing list > Xen-users@lists.xensource.com > http://lists.xensource.com/xen-users >Hehe, I recently ran into this EXACT issue and the above suggestion WILL fix your issue. The 3950SE is not ''officially'' supported in the kernel until 2.6.20. --Jim _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Why would you want to compile your 3ware drivers as a module? Doesn''t that complicate things during startup? I copied the 3w-9xxx.c/h to the Xen 3.0.4-kernel (2.6.16.33), overwriting the existing (older) versions of the same drivers. When compiling the xen0 kernel, I selected the 3ware-9xxx controller to be compiled in my kernel. Maybe it''s not ''good practice'', but it did work for me. Peter _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Hi, i use the same raid card, but i make monolitic kernel and it''s running well. Perhaps it''s the solution for you. regards Yves Kevin DeGraaf a écrit :> 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. > >-- Yves-Gaël Chény Directeur technique 261 route de Clisson 44230 St Sébastien sur Loire Tel : 02 40 97 62 67 - 08 73 77 24 91 http://www.tranquilitsystems.com/ yves-gael.cheny@tranquil-it-systems.fr Tranquil IT Systems . SAS 37 000 ¤ _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
> -----Original Message----- > From: xen-users-bounces@lists.xensource.com > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of > Peter Fastré > Sent: 12 June 2007 07:54 > To: xen-users@lists.xensource.com > Subject: Re: [Xen-users] 9650SE / 3w-9xxx problem, Xen 3.1.0 > > Why would you want to compile your 3ware drivers as a module? > Doesn''t that complicate things during startup? > I copied the 3w-9xxx.c/h to the Xen 3.0.4-kernel (2.6.16.33), > overwriting the existing (older) versions of the same > drivers. When compiling the xen0 kernel, I selected the > 3ware-9xxx controller to be compiled in my kernel. > Maybe it''s not ''good practice'', but it did work for me.Choosing between module and "built-in" is pretty much depending on how many different drivers you need for your different systems, and how much memory you want to sacrifice for carrying kernel drivers for things that you don''t use anyways. If you have a homogenous environment consisting of only one model of machines, kernel builtin is fine. If you have two dozen different models of machines, all with slightly different sets of hardware, meaning that you need 6 different disk controllers, 11 different network controllers, 5 different of something else, etc, etc, then building with modules is definitely the better option. Using modules means that you need an initrd - but often that''s the case ANYWAYS (for example the setup may need certain admin tools to run before the root fs can be mounted in the first place). I must confess that I''m lazy: I just use the standard setup with modules, simply because I can''t be bothered to figure out which modules I _ACTUALLY_ need, and which I can make do without. Just build an initrd each time the kernel is changing (much). Since I usually build from "unstable", the kernel is replaced every now and again, and keeping track of which modules you want and don''t want is harder when things are changing often. -- Mats> > > Peter >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
> apt-get install linux-image-2.6.18-4-xen. This kernel should be > compatible with xen 3.1.0> Don''t force anything! First install the kernel, then reboot with the > new kernel. Then install the headers and follow my old email.I performed a fresh installation of Debian etch (using the 3ware CD) and then "apt-get install"-ed these: linux-image-2.6.18-4-xen-amd64 linux-modules-2.6.18-4-xen-amd64 I added the following GRUB stanza: title Kernel vmlinuz-2.6.18-4-xen-amd64 root (hd0,0) kernel /boot/vmlinuz-2.6.18-4-xen-amd64 root=/dev/sda1 ro initrd initrd.img-2.6.18-4-xen-amd64 savedefault I attempted to boot into it: root (hd0,0) Filesystem type is ext2fs, partition type 0x83 kernel /boot/vmlinuz-2.6.18-4-xen-amd64 root=/dev/sda1 ro Error 13: Invalid or unsupported executable format I booted up with the stock kernel and observed the following using the "file" utility: /boot/vmlinuz-2.6.18-4-amd64: Linux kernel x86 boot executable RO-rootFS, root_dev 0x802, swap_dev 0x1, Normal VGA /boot/vmlinuz-2.6.18-4-xen-amd64: gzip compressed data, from Unix, last modified: Thu May 3 22:40:57 2007, max compression I know that the vmlinuz files are supposed to be gzip-compressed kernels, but I find it strange that (1) GRUB is complaining about the format, and (2) the "file" utility doesn''t recognize the Xen kernel image as an actual Linux kernel. Googling the GRUB error message didn''t help. It''s a pretty straightforward error message -- the file in question doesn''t seem to be a Linux kernel. Do you have any further advice? Thank you. -- Kevin DeGraaf _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Kevin DeGraaf wrote:> I added the following GRUB stanza:Don''t manually edit grub menus, it''s too easy to get it wrong (as you have below).. use update-grub The format for booting a xen kernel is different. update-grub knows how to do this. Tony _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Hello Kevin,> Do you have any further advice? Thank you.do the following: Perform a fresh _amd64_ install using the 3ware cd. then apt-get install linux-image-xen-amd64 then copy the attachment to /lib/modules/2.6.18-4-xen-amd64/kernel/drivers/scsi/3w-9xxx.ko then depmod -a -v 2.6.18-4-xen-amd64 then echo 3w-9xxx >> /etc/initramfs-tools/modules then update-initramfs -u -k all then update-grub (to verify that the 2.6.18-4-xen-amd64 kernel is the first to boot) then reboot Regards, Bjoern _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users