This article is being updated. Please be aware the content herein, not limited to version numbers and slight syntax changes, may not match the output from the most recent versions of Bright. This notation will be removed when the content has been updated.
It is possible to add custom kernel modules during the head node installation. Adding custom modules can lead to possible instability issues, so it is not recommended as a best practice by the parent distribution (nor by Bright), but sometimes it is needed for particular hardware. For example, the cciss driver for certain RAID controllers used to be included in RHEL6, but was removed in RHEL7.
Loading a custom kernel module can be done during installation using the screen where it shows you all the kernel modules that will be loaded. You can click on the “+” button to select the kernel module on the filesystem of the installer environment.
![image of custom kernel installation screen](https://t-images.imgix.net/http%3A%2F%2Fkb.brightcomputing.com%2Ffaq%2Fimages%2Fcustomkernelmoduleinstallation.png?width=1240&w=1240&auto=format%2Ccompress&ixlib=js-2.3.1&s=ac38ca5e7082445285e9d0371cf19926)
To get the kernel module on the filesystem, you need to press alt-control-f2 during the installation, login as root (no password required) and somehow get the .ko file on there into /lib/modules/path-to-module. “Somehow” could be, e.g. by mounting a USB drive.
One issue is that you need to make sure that the .ko file that you have is suitable for use in the kernel that is being used. This may mean that you have to compile it on a different machine for exactly this kernel version (i.e. you’ll have to install the right RedHat/SuSE kernel/kernel-header RPMs for compilation).
Installing Additional Kernel Modules using an RPM Package
In some cases, the head node will not be able to boot completely, due to an obsolete kernel module that is no longer compatible with the current firmware of a particular hardware.
This issue can be fixed by installing a more recent version of the kernel module. The following steps describe the procedure of installing a kernel module from an RPM package.
1. Boot the node using a Bright ISO DVD and switch to console immediately after the installer starts. You can switch to the console using Alt+Ctrl+F2 and log in as root without a password.
2. Mount the root partition hard drive on which Bright was installed:# mkdir /mnt/hd
# mount /dev/sda1 /mnt/
3. Make the RPM package available for the head node. This can be done by one of the following methods:
a. mount the ISO image which includes the RPM package, or
b. bring up the external interface by issuing “perl /cm/startssh eth1” (assuming that eth1 is the external interface) and transfer the files to the installer environment using scp, http, ..etc.
4. Copy the RPM package(s) into the /mnt/hd/tmp directory.
5. Finally install the rpm packages into /mnt/ using the following commands:
# chroot /mnt/hd
# rpm -Uvh /mnt/hd/tmp/*
After rebooting, the head node should be using the correct kernel module and will boot successfully.