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

Posted on 2006-04-19
Last Modified: 2013-12-15
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!

The third party device driver install CD comes with the following files:

The RAID card manufacturer also provides the drivers as the following files:

Question by:patKC
    LVL 15

    Expert Comment

    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 ;)))


    Author Comment

    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?
    LVL 15

    Expert Comment

    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.

    LVL 4

    Expert Comment

    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.

    Author Comment

    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!
    LVL 15

    Expert Comment

    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.
    LVL 1

    Accepted Solution

    PAQed with points refunded (500)

    Community Support Moderator

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Using 'screen' for session sharing, The Simple Edition Step 1: user starts session with command: screen Step 2: other user (logged in with same user account) connects with command: screen -x Done. Both users are connected to the same CLI sessio…
    Introduction We as admins face situation where we need to redirect websites to another. This may be required as a part of an upgrade keeping the old URL but website should be served from new URL. This document would brief you on different ways ca…
    Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
    Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

    759 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    10 Experts available now in Live!

    Get 1:1 Help Now