背景
Mellanox OFED在官网独立发布,可以自行下载编译,简要记录方法
快速回忆步骤
## 配置
./configure -kernel-version $(uname -r) --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-mlx5-mod --with-ipoib-mod --with-isert-mod --with-iser-mod --with-srp-mod --with-scsi_transport_srp-mod --build-dummy-mods --with-mlxfw-mod --without-xdp -j 16
## 编译
make -j
## 运行
rmmod mlx_compat auxiliary rdma_ucm ib_srpt ib_isert rpcrdma ib_iser mlx5_ib mlxfw mlx5_core mlxfw ib_uverbs ib_ipoib rdma_cm ib_umad iw_cm ib_cm ib_core mlxdevm auxiliary mlx_compat #报错inuse就多执行两次
mkdir release; rm -rf release/*.ko; find . -name "*.ko" -exec cp {} ./release \; ; ls release
cd release
export kos="mlx_compat auxiliary mlxdevm ib_core ib_cm iw_cm ib_umad rdma_cm ib_uverbs mlxfw mlx5_core mlx5_ib ib_iser rpcrdma ib_srpt ib_isert rdma_ucm"; for ko in $kos; do echo $ko; insmod $ko.ko ; done
步骤
-
下载源码 https://linux.mellanox.com/public/repo/mlnx_ofed/
找到需要的OFED版本号下载使用。
-
解压rpm包获取ofed的源码
-
找到ofed rpm包并且从rpm获取tgz包
-
解压ofed
-
编译ofed(3步曲)
- 配置 ./configure
- 编译 make -j
- 安装 make install
configure
make:
查看编译出来的ko:
如果要编译其他的ko需要指定对应的参数:
./configure -kernel-version $(uname -r) --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-mlx5-mod --with-ipoib-mod --with-isert-mod --with-iser-mod --with-srp-mod --with-scsi_transport_srp-mod --build-dummy-mods --with-mlxfw-mod -j 16
加载运行:
如果原来的系统加载了对应的ko需要先卸载,然后加载对应ko。
可以看到mlx相关的ko:
2310版本的编译和运行
## 配置
./configure -kernel-version $(uname -r) --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-mlx5-mod --with-ipoib-mod --with-isert-mod --with-iser-mod --with-srp-mod --with-scsi_transport_srp-mod --build-dummy-mods --with-mlxfw-mod --without-xdp -j 16
## 编译
make -j
## 运行
rmmod mlx_compat auxiliary rdma_ucm ib_srpt ib_isert rpcrdma ib_iser mlx5_ib mlxfw mlx5_core mlxfw ib_uverbs ib_ipoib rdma_cm ib_umad iw_cm ib_cm ib_core mlxdevm auxiliary mlx_compat #报错inuse就多执行两次
mkdir release; rm -rf release/*.ko; find . -name "*.ko" -exec cp {} ./release \; ; ls release
cd release
export kos="mlx_compat auxiliary mlxdevm ib_core ib_cm iw_cm ib_umad rdma_cm ib_uverbs mlxfw mlx5_core mlx5_ib ib_iser rpcrdma ib_srpt ib_isert rdma_ucm"; for ko in $kos; do echo $ko; insmod $ko.ko ; done
配置:
编译:
卸载:
卸载原来的:
加载新的:
加载的内核日志:
卸载前后关系图参考兄弟篇:Mellanox OFED相关的内核模块ko的依赖关系
后记
本文仅简要记录编译方法。