List,
I have attempted to make my own megaraid driver disk for a Dell PowerEdge 2300. The procedure I'm using is detailed at the end of this message. In short, I followed samples that I collected after Googling around. The problem I face is that the CentOS 4 installer can't seem to mount the driver disk after I have created it. It gives no information other than, "Cannot mount /dev/fd0", so I don't know where to look to troubleshoot this.
If there is a documented procedure for creating good driver disks for CentOS 4, I would very much like to read them; I simply haven't been able to find any, yet. Otherwise, please review the procedure I have detailed in this message to spot the flaw. Thanks!!
The procedure I have used to create this driver disk is as follows:
## Log into a machine that is running the 2.6.9-11.EL kernel (e.g.: a working CentOS 4 box). # yum install kernel-devel
## Download the megaraid source from the ALMOST useful (doesn't work because we can't seem to Alt+F2 to get to a bash shell, as described): http://www.tuxyturvy.com/blog/index.php?/archives/4-Installing-RHEL4-on-Syst... # cd /usr/src # wget http://www.tuxyturvy.com/files/megaraid.tar.bz2
# mkdir /usr/src/megaraid # mkdir /usr/src/megaraid/dd # mkdir /usr/src/megaraid/dd/modules # mkdir /usr/src/megaraid/dd/modules/2.6.9-11.EL # mkdir /usr/src/megaraid/dd/modules/2.6.9-11.ELhugemem # mkdir /usr/src/megaraid/dd/modules/2.6.9-11.ELsmp
# cd /usr/src/megaraid # tar jxvfp /usr/src/megaraid.tar.bz2
## Ignore all warnings. # make -C /lib/modules/2.6.9-11.EL/build SUBDIRS=/usr/src/megaraid modules # cp megaraid.o dd/modules/2.6.9-11.EL/ # rm -f *.o *.ko
## Ignore all warnings. # make -C /lib/modules/2.6.9-11.ELhugemem/build SUBDIRS=/usr/src/megaraid modules # cp megaraid.o dd/modules/2.6.9-11.ELhugemem/ # rm -f *.o *.ko
## Ignore all warnings. # make -C /lib/modules/2.6.9-11.ELsmp/build SUBDIRS=/usr/src/megaraid modules # cp megaraid.o dd/modules/2.6.9-11.ELsmp/ # rm -f *.o *.ko
# cd dd/modules/ # find . -type f | cpio -o -H crc | gzip -n9 > ../modules.cgz # cd .. # rm -rf modules/
# echo "LSI MegaRAID driver disk for CentOS 4.0" > centos-4
# vim modinfo ---- add ---- Version 0 megaraid scsi "LSI MegaRAID for Legacy Dell PowerEdge Servers" -------------
# vim pcitable ---- add ---- 0x101e 0x1960 "megaraid" "AMI|MegaRAID (OEM)" 0x101e 0x9010 "megaraid" "AMI|MegaRAID" 0x101e 0x9060 "megaraid" "AMI|MegaRAID" 0x8086 0x1960 "megaraid" "AMI|Megaraid" -------------
# touch modules.dep # chmod 0755 *
## Insert a floppy disk into your floppy disk drive. # fdformat -n /dev/fd0u1440 # mkfs -t ext3 /dev/fd0u1440 # mount /dev/fd0u1440 /media/floppy # rm -rf /media/floppy/* # cp * /media/floppy/ # umount /media/floppy
## Done making the Driver Disk. ## Insert disk 1 of the CentOS 4 install set into your Dell PowerEdge box and reboot the machine. ## At the CentOS 4 install prompt, insert the Driver Disk into the machine and type:
linux dd
## Error: Cannot mount /dev/fd0 ?!
On Sun, 2005-08-07 at 17:13 -0600, William wrote:
List, I have attempted to make my own megaraid driver disk for a Dell PowerEdge 2300. The procedure I'm using is detailed at the end of this message. In short, I followed samples that I collected after Googling around. The problem I face is that the CentOS 4 installer can't seem to mount the driver disk after I have created it. It gives no information other than, "Cannot mount /dev/fd0", so I don't know where to look to troubleshoot this.
Is the "-BOOT" kernel no longer used for the installer kernel? Likewise, is the cpio (USTAR 5KiB blocking) no longer used for packaging driver disks? [ I guess I haven't kept current in the last year or so if this is the case ]
Bryan J. Smith wrote:
Is the "-BOOT" kernel no longer used for the installer kernel? Likewise, is the cpio (USTAR 5KiB blocking) no longer used for packaging driver disks? [ I guess I haven't kept current in the last year or so if this is the case ]
No, there is no "-BOOT" kernel anymore. Typically, the current i586 UP kernel is considered the "BOOT" kernel.
buildinstall is pretty cool in that you can put any kernel in your distribution and buildinstall will use that kernel as your "-BOOT" kernel and generate boot images (pxe and otherwise) based on it.
-Jay
Hilliard, Jay wrote:
Bryan J. Smith wrote:
Is the "-BOOT" kernel no longer used for the installer kernel? Likewise, is the cpio (USTAR 5KiB blocking) no longer used for packaging driver disks? [ I guess I haven't kept current in the last year or so if this is the case ]
No, there is no "-BOOT" kernel anymore. Typically, the current i586 UP kernel is considered the "BOOT" kernel.
buildinstall is pretty cool in that you can put any kernel in your distribution and buildinstall will use that kernel as your "-BOOT" kernel and generate boot images (pxe and otherwise) based on it.
-Jay
While this is all interesting, I wonder if any of you know what it takes to make a proper driver disk for CentOS 4? :)
Thanks!
On Mon, 2005-08-08 at 08:56 -0600, William wrote:
While this is all interesting, I wonder if any of you know what it takes to make a proper driver disk for CentOS 4? :)
I'm driving at that (because I'm "outta date"). You must build your module against the installer's kernel, not your kernel.
It also has to be in a specific format. Last time I did this, it was a cpio archive (on a VFAT16 disk?). Is it now a straight Ext2 disk?
Bryan J. Smith wrote:
I'm driving at that (because I'm "outta date"). You must build your module against the installer's kernel, not your kernel.
It also has to be in a specific format. Last time I did this, it was a cpio archive (on a VFAT16 disk?). Is it now a straight Ext2 disk?
Where might I find an existing, working driver disk for CentOS 4.0? I'd like to see if I can reverse-engineer it to make mine work. I developed my current image from a sample RedHat 6 driver disk for an unrelated device and, obviously, that was a bad example to follow.
Thanks!
William wlist-centos@kimballstuff.com wrote:
I developed my current image from a sample RedHat 6 driver disk for an unrelated device and, obviously, that was a bad example to follow.
Actually, it should be a fairly good one, at least until recently. The Red Hat Linux 6.1+ driver disks use a cpio archive and specific header files. I didn't see those in your procedure.
Bryan J. Smith wrote:
Actually, it should be a fairly good one, at least until recently. The Red Hat Linux 6.1+ driver disks use a cpio archive and specific header files. I didn't see those in your procedure.
Perhaps I had a bad example disk? I fully recreated the sample RH 6 driver disk -- all files including the miscellaneous text files and yes, my modules.cgz file is a cpio archive:
# find . -type f | cpio -o -H crc | gzip -n9 > ../modules.cgz
(unless I'm doing that wrong?)
William wlist-centos@kimballstuff.com wrote:
Perhaps I had a bad example disk? I fully recreated the sample RH 6 driver disk -- all files including the miscellaneous text files and yes, my modules.cgz file is a cpio archive: # find . -type f | cpio -o -H crc | gzip -n9 > ../modules.cgz
Oh, sorry, I guess I missed that. My apologies.
(unless I'm doing that wrong?)
I don't know since I haven't done it in a few years. I used to be on a Linux driver project and produced RPM and DPKG drivers for various distros.
There seems to be a "RedHat" project that is trying to address this issue.
A description of "ddiskit" from http://people.redhat.com/linville/ddiskit/
------------------------------------------------------------------------- The raison d'etre for ddiskit is to ease the burden (and encode the magic) of making Device Driver Update Disks for Red Hat originated distributions (i.e. RHEL and FC) based on the 2.6 (and beyond?) series of Linux kernels. ddiskit fills the same need which Doug Ledford's Device Driver Update Disk Devel Kit filled for prior generations of Red Hat distributions. -------------------------------------------------------------------------
-Connie Sieh Fermi National Accelerator Laboratory
On Wed, 10 Aug 2005, Bryan J. Smith wrote:
William wlist-centos@kimballstuff.com wrote:
Perhaps I had a bad example disk? I fully recreated the sample RH 6 driver disk -- all files including the miscellaneous text files and yes, my modules.cgz file is a cpio archive: # find . -type f | cpio -o -H crc | gzip -n9 > ../modules.cgz
Oh, sorry, I guess I missed that. My apologies.
(unless I'm doing that wrong?)
I don't know since I haven't done it in a few years. I used to be on a Linux driver project and produced RPM and DPKG drivers for various distros.