How to add third party device driver to Linux Installation CD?

I have a system with a RAID card (which I will boot from) that does not come with built in driver support from Redhat/CentOS Linux. So during the installation, I need to type 'linux dd' at the boot prompt, insert the driver CD and load the driver. I'd like to eliminate having to do this extra step of inserting a driver disk and instead have the Linux Install CD come with build in support for this RAID.

How can I add this third party driver to the install CD? What exact steps do I need to take to add it and reburn a new install CD?

This is urgent so any help would be appreciated, thanks!

P.S.
The third party device driver install CD comes with the following files:
modinfo
modules.cgz
modules.dep
pcitable
rhdd

The RAID card manufacturer also provides the drivers as the following files:
3w-9xxx.hug
3w-9xxx.ko
3w-9xxx.smp


patKCAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

m1tk4Commented:
I think when you realize how complex is what you are trying to do you'll give up, it's not worth it.

In a nutshell, what happens during the installation is the custom driver you supplied on a diskette is built into a initrd (init RAM disk) image that is allocated at boot time to boot the kernel from. So, to include your device driver on the installation CD you need to build an initrd with your driver and replace

- the default initrd on the boot CD
- all kernel packages on the CDs
- all kernel source packages on the CDs (if any)

with an initrd built with your driver, update checksums used by mediacheck.

This is if everything goes fine. There is also a possibility that install checks the signatures of RPMs installed, and because you can't sign your new kernel RPMs with either RedHat or CentOS signatures that all other packages are signed with, you'll need to re-sign them ALL with your signature.

If you are not convinced to abandone this idea by now, your skills probably are vastly higher than mine and I'll stop here ;)))

patKCAuthor Commented:
That's disappointing to hear.

Is there any other workarounds? Like say burning the device driver to a folder on the install CD and programming the kickstart to utilize that device driver automatically?
m1tk4Commented:
I'm not so familiar with kickstart to advise you on that, but what you could do is burn the files that come with 3rd party device driver install cd onto the first boot CD along with the distribution files. They have to be in the root directory though and you still need to run linux dd to prompt for them.

Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

MyrandorCommented:
For your information, we've been using 3ware cards on Redhat, Fedora and CentOS without any third party drivers. Linux has a 3ware drivers which works fine on many (and maybe all) 3ware cards.

Just to a "lsmod" and you should see the driver loaded, without even installing a third party driver.

If it's not there, make sure that the driver you download is compatible with the kernel version you run. For example, a driver for kernel 2.4 will not work on a 2.6 system.
patKCAuthor Commented:
Thanks for the replies everyone. BTW the included 3ware driver with CentOS did not work correctly with my 9550SX card so I was forced to use a separate driver.

The good news is I found a relatively simple solution! Compiling the drivers into the install media is a monumental task as m1tk4 mentioned. We know you can utilize the dd option to load a separate driver in. There's nothing stopping that driver from being located on the install media since the installer just looks in the root directory of the partiton you specify the driver is at. So I just copied the driver files (modinfo,modules.cgz,modules.dep,pcitable,rhdd) to the root of the install DVD. Typing linux dd and pointing it to the install CD lets it load the driver! Cool no more disk swapping!

Let's not stop there though. We know you can automate the install procedure by utilizing kickstart. And guess what? Kickstart has a driverdisk option! Hallelujah! A thousand thank yous to the guy who thought of including that option. So now, you no longer have to point the installer to your driverdisk location either!

In summary, here's what I did:
1. Add the following line to kickstart configuration file (hda is location of my cdrom drive where the install CD and thus driver are located):

     driverdisk hda --type=iso9660

2.Create new installation CD with the following changes:
    -ks.cfg and device driver files added to the / of the CD


I can now just pop in the install DVD in and have system install everything by itself with zero interaction!
m1tk4Commented:
patKC, great job! The only point to mention to your clients (if you are planning to distribute these CD's outside your organization) is that the mediacheck option will now fail (for obvious reasons that the checksums won't match). There could be, however, a way to solve that as well if that's the problem.

Another possible problem spot is specifying your driverdisk as hda - unless you can guarantee that your CD-ROM will always be a master on the primary IDE channel.
DarthModCommented:
PAQed with points refunded (500)

DarthMod
Community Support Moderator

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux

From novice to tech pro — start learning today.