Linux 有问必答: 如何在红帽系linux中编译Ixgbe驱动
| 2015-06-03 03:33:00 评论: 0
提问:我想要安装最新版的ixgbe 10G网卡驱动。在CentOS, Fedora 或 RHEL中,我应该如何编译ixgbe驱动?
想要在linux使用Intel的PCI Express 10G网卡(例如,82598,82599,x540),需要安装Ixgbe驱动。如今的Linux发行版都会预安装ixgbe的可加载模块,但是预安装的ixgbe驱动不是完整功能版。如果想要开启和定制所有10G网卡的功能(如,RSS、多队列、虚拟化功能、硬件 offload 等),需要从源码编译安装。
本文基于红帽系平台(如,CentOS,RHEL或Fedora)。Debian系平台,请看这篇文章。
第一步: 安装依赖
首先,安装必要的开发环境和安装匹配的内核头文件
$ sudo yum install gcc make
$ sudo yum install kernel-devel
第二步: 编译Ixgbe
从官方页面下载最新Ixgbe源码
$ wget http://downloads.sourceforge.net/project/e1000/ixgbe%20stable/3.23.2/ixgbe-3.23.2.tar.gz
请检查支持的内核版本。例如,Ixgbe3.23.2版本支持Linux内核版本2.6.18到3.18.1。
提取压缩包并编译:
$ tar -xvf ixgbe-3.23.2.tar.gz
$ cd ixgbe-3.23.2/src
$ make
如果成功,可以在当前目录找到编译完成的驱动(ixgbe.ko)。
可以运行这个命令来查看编译信息:
$ modinfo ./ixgbe.ko
将会输出一个Ixgbe驱动的可用参数列表
第三步: 加载 Ixgbe 驱动
这步准备加载已经编译好的驱动。
如果系统已经加载了Ixgbe驱动,首先需要卸载掉老版本。否则,新版本不能加载。
$ sudo rmmod ixgbe.ko
然后插入编译完成的驱动到内核中:
$ sudo insmod ./ixgbe.ko
同时,你可以设置启动参数
$ sudo insmod ./ixgbe.ko FdirPballoc=3 RSS=16
验证驱动是否加载成功,使用dmesg命令,查看其输出
$ dmesg