1,编译环境准备,安装好kernel-devl ,kenel-headers等;
注意:
一定要注意kernel 的内核,一定要保持被安装的机器与编译的内核保持一致;
下载驱动地址:https://downloadcenter.intel.com/
2,将下载好的驱动方到指定目录进行编译即可;
[root@test55 rpmbuild]# rpmbuild -tb i40e-2.1.26.tar.gz
在执行命令的目录会出现一个rpmbuild 的目录,目录下的内容:
[root@test55 rpmbuild]# ll
total 24
drwxr-xr-x 3 root root 4096 Dec 20 02:52 BUILD
drwxr-xr-x 2 root root 4096 Dec 20 02:52 BUILDROOT
drwxr-xr-x 3 root root 4096 Dec 20 02:52 RPMS
drwxr-xr-x 2 root root 4096 Dec 20 02:52 SOURCES
drwxr-xr-x 2 root root 4096 Dec 20 02:52 SPECS
drwxr-xr-x 2 root root 4096 Dec 20 02:52 SRPMS
RPMS 里存放编译好的rpm(i40e-2.1.26-1.x86_64.rpm);
3,将拷贝好的rpm 文件放到需要安装驱动的目录,进行安装:
[root@test55 rpmbuild]# rpm -ivh i40e-2.1.26-1.x86_64.rpm
4,安装完成后需要进行加载;
建议:使用modprobe加载驱动模块
[root@test56 rpmbuild]# modprobe i40e
如果加载不成功,再采用insmod,modprobe 会加载相关的依赖,insmod 不会;
[root@test56 rpmbuild]# insmod /lib/modules/2.6.32-431.el6.x86_64/updates/drivers/net/ethernet/intel/i40e/i40e.ko
insmod: error insert /lib/modules/2.6.32-431.el6.x86_64/updates/drivers/net/ethernet/intel/i40e/i40e.ko : -1 Unknown symbol in module
出现上面的的错误Unknown symbol in module,就是说在模块找未找到相关的'链接',所以我们查看下相关的依赖是否完全安装;
[root@test56 rpmbuild]# modinfo /lib/modules/2.6.32-431.el6.x86_64/updates/drivers/net/ethernet/intel/i40e/i40e.ko | grep depend
depends : ptp
5,可以查看是否安装了该模块,modinfo ptp ,如果未安装请安装;
[root@test56 rpmbuild]# modprob ptp
6,再次加载网卡驱动:
[root@test56 rpmbuild]# insmod /lib/modules/2.6.32-431.el6.x86_64/updates/drivers/net/ethernet/intel/i40e/i40e.ko
7,查看是否加载成功:
[root@test56 rpmbuild]# lsmod | grep i40e
i40e 393945 0
ptp 9614 1 i40e
查看网卡是否出现:
ip a 或ifconfig 等;
如果不存在,请检查相关日志;
8,如果存在,设置IP 等相关信息,与其余计算机进行简单的Ping 测试即可;
9,开机加载该模块:
新增文件:i40e.i40e
[root@test56 rpmbuild]# touch /etc/sysconfig/modules/i40e.i40e
并添加内容:
#!/bin/sh
modprobe -b ptp >/dev/null 2>&1
insmod /lib/modules/2.6.32-431.el6.x86_64/updates/drivers/net/ethernet/intel/i40e/i40e.ko >/dev/null 2>&1
exit 0
10,文件保存好后,重启机器即可;