Updating RAID driver when upgrading from kernel 2.6.9-5 to 2.6.9-11 on rh4 ES

Rick Stevens rstevens at vitalstream.com
Fri Jan 27 18:27:58 UTC 2006


On Fri, 2006-01-27 at 14:09 +0200, Maxim Vexler wrote:
> On 1/27/06, Rick Stevens <rstevens at vitalstream.com> wrote:
> > On Thu, 2006-01-26 at 21:51 +0200, Maxim Vexler wrote:
> > > On 1/25/06, Rick Stevens <rstevens at vitalstream.com> wrote:
> > > > On Wed, 2006-01-25 at 19:56 +0200, Maxim Vexler wrote:
> > > > > Hello,
> > > > >
> > > > > I used the driver supplied by the vendor [1] to add aditional drivers
> > > > > for the setup of redhat on  intel SE7230nh1 server board.
> > > > >
> > > > > Now, we need to update to the updated kernel. Luckly the vendor does
> > > > > provide a driver to the RH4-ES-U1 kerenl but only in a img file
> > > > > format. i.e. sutible only for fresh install.
> > > > >
> > > > > I would like to use the driver provided by this image, which I
> > > > > downloaded and mounted by:
> > > > > <<<
> > > > > mount -o loop /tmp/dud-rh40-u1-x86_64-megaide-v5.08u-generic-1.img /media/fd0/
> > > > > >>>
> > > > > on my working system.
> > > > >
> > > > > Using rhn I have downloaded the new rpm kernel package and it's
> > > > > installed in the grub boot menu but when trying to boot the kernel I
> > > > > get kernel panic stating that no drives were found.
> > > >
> > >
> > > Thank you for helping.
> > >
> > > > You need to get into that /media/fd0 directory and find the driver
> > > > itself.  It'll have ".ko" after the name, e.g. "driver.ko".  That will
> > > > have to be put into the
> > > >
> > > >         /lib/modules/(updated-kernel-version)/kernel/drivers/scsi
> > > >
> > > > directory, and you will then need to rebuild the initrd image for the
> > > > new kernel.  I can give you the commands, but I'll need a few things
> > > > from you:
> > > >
> > > >         1. I need you to mount that image again and post the output of
> > > >         "find /media/fd0 -print" (run as the root user)
> > > >
> > >
> > > Sure, I'm doing this on my debian testing server but as soon as get it
> > > all working I will redo it on the RH box.
> > > <<<
> > > debsrv:~# mount -o loop
> > > /home/hq4ever/dud-rh40-u1-x86_64-megaide-v5.08u-generic-1.img
> > > /media/floppy0
> > > debsrv:~# find /media/floppy
> > > floppy/  floppy0/
> > > debsrv:~# find /media/floppy0 -print
> > > /media/floppy0
> > > /media/floppy0/modinfo
> > > /media/floppy0/modules.cgz
> > > /media/floppy0/modules.dep
> > > /media/floppy0/pcitable
> > > /media/floppy0/rhdd
> > > debsrv:~# id
> > > uid=0(root) gid=0(root) groups=0(root)
> > > >>>
> > >
> > > >         2. I need the kernel version number of the new kernel you
> > > >         installed.  Or post the content of the /boot/grub/grub.conf
> > > >         file.
> > >
> > > The kernel that I have installed the system with was  kernel-smp-2.6.9-5.EL
> > > The kernel that later on got downloaded by the rhn network is
> > > kernel-smp-2.6.9-22.0.2.EL
> > >
> > > The first one boots, sadly the second one doesn't.
> >
> > That's because it doesn't have the driver.  Boot the machine to update
> > with the old kernel.  Take a look at the "/etc/modprobe.conf" file and
> > look for the "alias scsi_hostadapter" line.  The data on the right is
> > the name of the driver module used for the SCSI/SATA interface.
> >
> > For example, I have this in /etc/modprobe.conf
> >
> >         alias scsi_hostadapter aic7xxx
> >
> > meaning that my machine uses the "aic7xxx" driver.
> >
> > On the debian machine with the driver image loaded, do this:
> >
> >         # cd /tmp
> >         # gunzip -c /media/floppy0/modules.cgz | cpio -i -t
> >
> > Look for a "something.ko" file that matches the name you got from the
> > modprobe.conf file (in my case, I'd look for "aic7xxx.ko").  If you see
> > it, then:
> >
> >         # gunzip -c /media/floppy0/modules.cgz | cpio -i name-of-file
> >
> 
> I had some trouble extracting the cpio archive.
> I had to use the -d switch, the command that worked for me was
> 
> gunzip -c /media/floppy0/modules.cgz | cpio -ivd

Hmmm.  It needed to create a directory?  Weird.  Ah, well, you figured
it out.

> > That should extract the driver to /tmp.  Get that file over to the
> > machine to be updated somehow (ftp, floppy, USB drive, something).
> >
> > On the machine to be updated, do this:
> >
> >         # cp /path/driver.ko \
> >         /lib/modules/2.6.9-22.0.2.ELsmp/kernel/drivers/scsi
> >
> > Replace "/path" to wherever you have the driver file.  This should put
> > the driver in the right spot for the kernel to work.  Next:
> >
> >         # cd /boot
> >         # mkinitrd -vr initrd-2.6.9-22.0.2.ELsmp.img 2.6.9-22.0.2.ELsmp
> >
> > That should rebuild the initrd image for the kernel you're trying to
> > boot.  Watch the output carefully and make sure the driver in question
> > gets loaded.
> >
> > If all that works, you should be able to boot the new kernel.  If I'm
> > not clear about anything, let me know.
> 
> Thank you dear friend, it worked great.

Good!  So you're up in the new kernel?  Terrific!

> >It's a bit difficult to describe
> > in an email.
> >
> 
> And yet you managed to explain it perfectly.
> Thank you!

Well, I forgot the "-d" option to cpio, but you got the idea.  I'm just
glad you got it going, and now you'll know what to do the next time you
need to update your kernel.  I'd print out a copy of this note and keep
it in your "magic bag of tricks" for later use.

Congratulations!

----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer     rstevens at vitalstream.com -
- VitalStream, Inc.                       http://www.vitalstream.com -
-                                                                    -
-  Animal testing is futile.  They always get nervous and give the   -
-                             wrong answers                          -
----------------------------------------------------------------------




More information about the Redhat-install-list mailing list