1、背景介绍
最近公司做的X86板子上面使用了mellanox CX-5网卡,但操作系统选择的是国产的湖南麒麟Linux操作系统。mellanox官网提供的OFED驱动中没有针对湖南麒麟的版本,为此只能找一个最接近的驱动进行安装,由于湖南麒麟是基于redhat修改的,所以选择redhat版本的OFED驱动进行适配。
2、下载mellanox驱动
mellanox网卡驱动下载地址为:https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed
这里我选择了redhat7.3版本下载
3、先安装红帽的包:
rpm -Uvh redhat-release-server-7.3-7.el7.x86_64.rpm redhat-rpm-config-9.1.0-72.el7.noarch.rpm --force
4、安装实时内核devel包:
rpm -Uvh kernel-rt-devel-3.10.0-514.16.1.rt56.437.ky3.x86_64.rpm
5、修改rpm宏定义:
vim /etc/rpm/macros.dist
增加一行:
%_vendor redhat
6、安装必要依赖,
可能要重复几次:
yum install tcl gcc-gfortran tk
7、编译安装OFED驱动
cd MLNX_OFED_LINUX-5.0-1.0.0.0-rhel7.3-x86_64
./mlnxofedinstall --distro RHEL7.3 --skip-distro-check --add-kernel-support
8、测试驱动再重新安装麒麟的包
kylin-release-3.3-3***.rpm,kylin-rpm-config-***.rpm
从上面步骤可以看到是先让网卡驱动认为系统是redhat,驱动安装完成后再换回麒麟,真的是一条迂回路线。