Next Previous Contents

3. Install the kernel modules

You now need to build a set of OFED kernel modules which match the version of the OFED software you have installed.

The Debian kernel contains a set of OFED infiniband drivers, but they may not match the OFED userspace version have installed. Consult the table below to determine what OFED version the Debian kernel contains.

Debian Kernel Version      OFED Version
<=2.6.26                       1.3
>=2.6.27                       1.4

If the debian kernel modules are the incorrect version, you can build a new set of modules using the ofa-kernel-source package. If your kernel already includes the correct OFED kernel modules you can skip the rest of this section. If you are in doubt, you should build a new set of modules rather than relying on the modules shipped with the kernel.

3.1 Building new kernel modules

You can build new kernel modules using module-assistant.

aptitude install module-assistant

Ensure you have the ofa-kernel-source package installed, and then run:

 module-assistant prepare
 module-assistant clean ofa-kernel
 module-assistant build ofa-kernel

This procedure will create an ofa-kernel-modules deb in /usr/src. You can the install the deb using dpkg or by running:

 module-assistant install ofa-kernel
The deb can also be copied to your other infiniband hosts and installed using dpkg.

As the deb contains replacements for existing kernel modules you will need to either manually remove any infiniband modules which have already been loaded, or reboot the machine, before you can use the new modules.

The new kernel modules will be installed into /usr/lib/<kernel-version>/updates. They will not overwrite the original kernel modules, but the module loader will pick up the modules from the updates directory in preference. You can verify that the system is using the new kernel modules by running the modinfo command.

# modinfo ib_core
filename:       /lib/modules/2.6.22.19/updates/kernel/drivers/infiniband/core/ib_core.ko
author:         Roland Dreier
description:    core kernel InfiniBand API
license:        Dual BSD/GPL
vermagic:       2.6.22.19 SMP mod_unload 

Note that if you wish to rebuild the kernel modules for any reason, (eg for a new kernel version or to continue an interrupted build) then you must issue the "module-assistant clean" command before trying a new build.


Next Previous Contents