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

Bug#410817: I don't know how to patch the 2.6.18 kernel...



On Thu, Aug 09, 2007 at 05:34:05PM -0600, dann frazier wrote:
> On Thu, Aug 09, 2007 at 01:36:34PM +0200, Guillaume Estival wrote:
> > Is someone kind enough to send a patch, or just a clue about what I need
> > to modify (and where)? 
> 
> hey Guillaume,
>  Take a look at this changeset:
>    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443
>  
>   Notice that it removes this entry from the megaraid_pci_tbl[]:
> 
>       {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3,
>               PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
> 
2005? damn'

here the diff I made:
--- megaraid.c  2007-08-10 09:08:29.000000000 +0200
+++ megaraid_old.c      2007-08-10 13:22:02.361101544 +0200
@@ -5038,8 +5038,6 @@
 }
 
 static struct pci_device_id megaraid_pci_tbl[] = {
-      {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3,
-                    PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
        {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID,
                PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
        {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID2,

and... it didn't work (possible issue below)
(the date don't match because I edited the original file and made the
diff later for this mail)

> I believe that entry matches our cards and prevents the legacy driver
> from picking them up. That works fine for me, but obviously not for
> you. I'd suggest adding those lines back in and building a new
> module/kernel. If you're not comfortable building your own kernel, let
> me know.
> 
I think I'd not messed up the kernel building since it creates bzImage
(but you can no longer use it on floppy to test it, using rdev and
stuff, because it is too big now :() and the kernel starts, but kernel
panic when it failed finding hard drives.

> Hopefully this will allow the legacy megaraid driver to discover your
> controller/disk. Just make sure that you rmmod the new megaraid driver
> before loading the legacy one.
> 
Here comes the (possible) problem: I can't use a module for this: The
RAID drives is my system drive so I need to have the driver built in
(since I never found out how to make an initrd image... built in is
easier) the kernel, and maybe it's why it's not working:
I built the kernel with the following drivers builtin:
CONFIG_MEGARAID_NEWGEN
CONFIG_MEGARAID_MM
CONFIG_MEGARAID_MAILBOX (the help of this driver DO NOT list my RAID
controller pci id)
CONFIG_MEGARAID_LEGACY (patched with the dann's help)

When the kernel start, I saw "megaraid cmm" and "megaraid", but I didn't
see megaraid mailbox nor megaraid legacy and... it didn't work.

I will try another kernel by removing CONFIG_MEGARAID_NEWGEN but I need
to wait 2 weeks: this is a production server and I can't reboot it
without a long time notice (this week was ok during lunch break...)

thanks for all your help and feel free to post some clues, I will try it
when I can.
-- 
Guillaume Estival               
http://www.dawan.fr
0810.001.917




Reply to: