PowerEdge 1750 and megaraid2 usage on install

Andrew Mann amann at mythicentertainment.com
Sun Mar 6 13:24:01 CST 2005


    The easy way to get this done is to install with the megaraid driver 
and then edit /etc/modules.conf to alias megaraid2 instead of megaraid, 
and finally rebuild the initrd (the mkinitrd program will take care of 
that simply).

    You could also modify the pcitable inside the initrd.img (a gzipped 
image file) on the http server to reference megaraid2 instead of megaraid.

    The bootdisk doesn't usually contain the scsi drivers, those are 
loaded off the initrd.img from the final installation media.   You'll 
need put "megaraid2" instead of "megaraid" in the pcitable file 
ultimately, but you shouldn't need to add any lines for the 1750, just 
alter the existing lines that tell map the controller in the 1750 to the 
megaraid driver.  You should be safe changing all of the "megaraid" 
references to "megaraid2" in this file.  Again the file you want to 
change is located in the initrd.img and not on the kickstart.

    I would guess that the reason the kickstart options don't work the 
way you expect them to is because they're either processed before the 
initrd.img is loaded (in which case the megaraid2 driver isn't 
available), or they're processed after the automatic mapping using the 
initrd.img pcitable, in which case the "megaraid" driver has already had 
a chance to claim the device and so the megaraid2 driver has nothing to 
claim.

    The pcitable is used to map a PCI ID to a driver to attempt to load, 
and is not used by the driver to determine if it handles a device.  If 
you map a completely incompatable device and driver together, the driver 
will still find no devices it handles and wont remain loaded.  For RHEL3 
Update 3, the "megaraid2" driver knows how to handle the 2850 Perc 4 
controller, while the "megaraid" driver doesn't.  The pcitable file 
doesn't contain a mapping though, so the "megaraid2" driver is never 
tried at all.  Once you get the driver attempted ('device scsi 
megaraid2' in the kickstart probably does that) everything works fine.

Andrew

Ben wrote:

> Now I know this has been asked before but I'm all out of ideas and I 
> can't seem to find anything on Google that helps me (unless I'm very 
> dense and missing it).
>
> I have a Dell PowerEdge 1750 with the standard PERC 4/Di in it.  I'm 
> doing a fresh install of RHEL3 AS u4 from an HTTP server via 
> kickstart.  No matter what I do I cannot get it to use the megaraid2 
> driver over the megaraid one.  Here's my setup:
>
> syslinux.cfg:
> -------------
>
> serial 0 9600
> default server
> prompt 1
> display boot.msg
> F1 boot.msg
>
> label server
>   kernel vmlinuz
>   append expert noprobe initrd=initrd.img ks=floppy:/server.cfg 
> console=ttyS0,9600
> [...]
>
>
> server.cfg:
> -----------
>
> install
> network --device eth0 --bootproto static --ip 192.168.0.62 --netmask 
> 255.255.255.0 --gateway 192.168.0.1 --nameserver 
> 192.168.0.2,192.168.0.3 --hostname server.thingy.wossname
>
> url --url http://192.168.0.4/redhat/AS
> lang en_GB.UTF-8
> langsupport --default en_GB.UTF-8 en_GB.UTF-8
> keyboard uk
> mouse genericps/2 --device psaux --emulthree
> skipx
> rootpw --iscrypted SOMERANDOMGSTRINGWENTTHERE
> firewall --disabled
> authconfig --enableshadow --enablemd5
> timezone Europe/London
> device scsi megaraid2
> device net tg3
> bootloader --location=mbr
> clearpart --all --drives=sda
> part /boot --fstype "ext3" --size=100 --ondisk=sda
> part / --fstype "ext3" --size=1024 --grow --ondisk=sda
> part swap --size=1000 --grow --maxsize=2000 --ondisk=sda
> reboot
> [...]
>
> Yet it doesn't load the megaraid2 (or in fact the tg3) driver and I 
> have to drop in the tg3 one by hand.  Can someone please explain the 
> probably obvious step I'm missing?  If I let it install with the 
> megaraid driver and then change /etc/modules.conf to use megaraid2 on 
> the scsi_adapter line there's a complaint in dmesg on next reboot 
> about megaraid already being loaded (something to do with memory being 
> in use).
>
> If I take out expert noprobe and leave the device lines in it uses the 
> megaraid driver.  If I take out the device lines it uses the megaraid 
> driver.  I'd really like to use the megaraid2 driver.
>
> I even added these lines to pcitable on the driver floppy:
>
> 0x1028  0x000e  "megaraid"      "Dell|PowerEdge Expandable RAID 
> controller 4/Di"
> 0x1028  0x000f  "megaraid"      "Dell|PowerEdge Expandable RAID 
> controller 4/Di"
>
> In the hope it'd help in the same way adding similar ones for the PERC 
> 4e/Di helped load megaraid2 for PowerEdge 2850s kickstart installations.
>
> Please, if anyone has a clue there's beertokens in it for you (-:
>
> Ben




More information about the Linux-PowerEdge mailing list