[CentOS] Where to put the kernel driver for a Fibre Channel HBA card.

Mon Dec 2 18:53:45 UTC 2013
Arun Khan <knura9 at gmail.com>

On Mon, Dec 2, 2013 at 11:09 PM, Ned Slider <ned at unixmail.co.uk> wrote:
> On 02/12/13 14:36, Arun Khan wrote:
>> CentOS 6.4 (amd64) stock kernel.
>> HBA FC Accusys ACS 63200NT
>>
>> I built the driver from source, insmod activates the device and I can
>> see the 24 TB storage volume via 'parted --list'  I have created a XFS
>> files system and mounted it under /srv/
>>
>> Where do I need to install the driver in /lib/modules/ ... directory
>> tree  so that it is loaded automatically when the system boots?
>>
>> TIA,
>>
>
> If your module is replacing a driver already in the kernel tree then it
> should go in /lib/modules/$(uname -r)/updates/
>

It is not present in the stock kernel.

> If it's a new driver not present in the kernel then it should go in
> /lib/modules/$(uname -r)/extra/
>

Thanks - I was not sure of where to copy the driver.

> and then run 'depmod -a'

Yes, I knew this has to be done to build the dependency list after
putting the driver file in the proper directory

>
> BTW, you should use modprobe and modprobe -r to load and unload modules
> rather than insmod as modprobe understands module dependencies whereas
> insmod doesn't.
>

I tried modprobe first to insert the driver but it kept saying module
not found.  insmod ./<driver_file_name> worked.

I believe, modprobe will work if the driver is in the
/lib/modules/$(uname -r)/  tree and the depmod has been done.

Gracias,

-- Arun Khan