kickstarting a 2600
bass6 at llnl.gov
Sun Aug 17 13:04:00 CDT 2003
On Thu, Aug 14, 2003 at 03:23:13PM -0500, Wendy.Faulkner wrote:
> I found a megaraid_2002 driver which was on a boot diskette and I merged
> that into my kickstart. I see it load during the kickstart, but I still
> get "An error has occurred - no valid devices were found on which to
> create new filesystems."
I ran into the same problems trying to kickstart a PE2600. You don't
mention what you did to merge the megaraid_2002 into your kickstart,
so I'll go over the solution that I came up with.
At the time Red Hat had not posted megaraid driver disks for Update 2 for
RHEL AS 2.1, so my solution was to add the megaraid_2002.o module from
the kernel-BOOT binary rpm to the initrd-everything.img initial ramdisk.
It looks like Red Hat has since posted driver disks, so the trouble I
went to may not be necessary anymore. Your best bet may be to download
and install the Update 2 release, and use the driver disks posted here:
However, if that is not practical for you for whatever reason, this
approach should also work. I did not document what I did at the time,
so I am reconstructing the following from memory and hopefully I am not
First, I extracted the needed module from the kernel-BOOT package:
# rpm2cpio kernel-BOOT-2.4.9-e.24.i386.rpm | ( cd /tmp ; cpio -i --make-directories '*megaraid_2002*' )
Note that I am using 2.4.9-e.24 but the steps should be the same for the
version you're using.
Then, to modify initrd-everything.img:
# zcat initrd-everything.img > /var/tmp/initrd-everything
# mount -o loop /var/tmp/initrd-everything /mnt/disk1
# zcat /mnt/disk1/modules/modules.cgz | ( cd /tmp ; cpio -i --make-directories )
# cp /tmp/lib/modules/2.4.9-e.24BOOT/kernel/drivers/addon/megaraid_2002/megaraid_2002.o /tmp/2.4.9-e.24BOOT/
# cd /tmp
# find 2.4.9-e.24BOOT/ | cpio -o -H crc > modules.cpio
# gzip -9 -n modules.cpio
# mv modules.cpio.gz modules.cgz
# cp modules.cgz /mnt/disk1/modules
# cd /mnt/disk1/modules
At this point I modified the files pcitable and module-info in the
modules directory, as shown by the following diffs. I don't know if
this step was strictly necessary. I think I copied the entries from the
megaraid driver disk for the e.12 kernel.
--- /tmp/pcitable.orig Sun Aug 17 10:38:04 2003
+++ pcitable Mon Jun 16 17:11:13 2003
@@ -34,6 +34,7 @@
0x1000 0x0021 "sym53c8xx" "Symbios|53c1010 66MHz Ultra3 SCSI Adapter"
0x1000 0x0030 "mptscsih" "Symbios|53c1030"
0x1000 0x0040 "mptscsih" "Symbios|53c1035"
+0x1000 0x0407 "megaraid_2002" "LSI|MegaRAID PERC 4/QC Verde"
0x1000 0x008f "sym53c8xx" "Symbios|53c875J"
0x1000 0x0621 "mptscsih" "Symbios|FC909"
0x1000 0x0622 "mptscsih" "Symbios|FC929"
--- /tmp/module-info.orig Sun Aug 17 10:41:32 2003
+++ module-info Mon Jun 16 17:10:22 2003
@@ -238,6 +238,9 @@
"MegaRAID 418, 428, 438, 466, 762"
+ "Updated MegaRAID version 2 driver"
"LSI Logic Fusion MPT Base Driver"
That completes the modifications to the initial ramdisk, so the loopback
mounted image can be unmounted:
# umount /mnt/disk1
Now /var/tmp/initrd-everything.img can be copied back to your tftp server
or wherever it's being loaded from. Finally, I added the following line
to my kickstart file to force it to load megaraid_2002.o
device scsi megaraid_2002
At this point the installation was able to load the megaraid_2002 module and
recognize the volumes on the PERC4 controller.
More information about the Linux-PowerEdge