linux下载编译rdma相关模块

uname -r查看内核版本

ubuntu版本:修改安装源

vim /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu questing main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu questing main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu questing-updates main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu questing-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu questing-security main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu questing-security main restricted universe multiverse

退出更新:

sudo apt update

安装编译依赖包:

sudo apt install build-essential flex bison libncurses-dev libssl-dev bc libelf-dev dwarves zstd -y

下载安装源代码

sudo apt install linux-source linux-headers-$(uname -r)

cp /usr/source/***.tar /home/zhuwei/

tar -xf ***tar.

cd /home/zhuwei/linux***

cp /boot/config-$(uname -r) .config

更新配置,加载新增驱动选项.默认加载原有系统的config

make olddefconfig

确认RDMA子系统编译为模块M(关键)

make menuconfig

勾选所有M选项

Device Drivers → InfiniBand support

cd /home/zhuwei/rdma/linux-source-6.17.0

生成自动头文件、编译脚本、模块符号表

make prepare

make scripts

make modules_prepare

【关键】编译全部内核模块,生成顶层 Module.symvers

make modules -j$(nproc)

make -j$(nproc) M=drivers/infiniband modules

安装新编译RDMA模块到系统内核目录

sudo make M=drivers/infiniband modules_install

更新模块依赖索引

sudo depmod -a