本篇内容介绍了“Linux如何编译并安装ixgbe驱动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

第一步: 安装前提

安装之前,需要安装匹配的内核头文件和开发工具包。

$sudoapt-getinstalllinux-headers-$(uname-r)
$sudoapt-getinstallgccmake

第二步: 编译ixgbe驱动

从最新的ixgbe驱动中下载源码。

$wgethttps://baitexiaoyuan.oss-cn-zhangjiakou.aliyuncs.com/updatecrm/server/20221016/ >如下编译ixgbe驱动。

$tarxvfvzixgbe-3.23.2.tar.gz
$cdixgbe-3.23.2/src
$make

第三步: 检查ixgbe驱动

编译之后,你会看到在ixgbe-3.23.2/src目录下创建了ixgbe.ko。这就是会加载到内核之中的ixgbe驱动。

用modinfo命令检查内核模块的信息。注意你需要指定模块文件的绝对路径(比如 ./ixgbe.ko 或者 /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko)。输出中会显示ixgbe内核的版本。

$modinfo./ixgbe.ko
filename:/home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko
version:3.23.2
license:gpl
description:intel(r)10gigabitpciexpressnetworkdriver
author:intelcorporation,
srcversion:2ada5e537923e983fa9dae2
alias:pci:v00008086d00001560sv*sd*bc*sc*i*
alias:pci:v00008086d00001558sv*sd*bc*sc*i*
alias:pci:v00008086d0000154asv*sd*bc*sc*i*
alias:pci:v00008086d00001557sv*sd*bc*sc*i*
alias:pci:v00008086d0000154fsv*sd*bc*sc*i*
alias:pci:v00008086d0000154dsv*sd*bc*sc*i*
alias:pci:v00008086d00001528sv*sd*bc*sc*i*
alias:pci:v00008086d000010f8sv*sd*bc*sc*i*
alias:pci:v00008086d0000151csv*sd*bc*sc*i*
alias:pci:v00008086d00001529sv*sd*bc*sc*i*
alias:pci:v00008086d0000152asv*sd*bc*sc*i*
alias:pci:v00008086d000010f9sv*sd*bc*sc*i*
alias:pci:v00008086d00001514sv*sd*bc*sc*i*
alias:pci:v00008086d00001507sv*sd*bc*sc*i*
alias:pci:v00008086d000010fbsv*sd*bc*sc*i*
alias:pci:v00008086d00001517sv*sd*bc*sc*i*
alias:pci:v00008086d000010fcsv*sd*bc*sc*i*
alias:pci:v00008086d000010f7sv*sd*bc*sc*i*
alias:pci:v00008086d00001508sv*sd*bc*sc*i*
alias:pci:v00008086d000010dbsv*sd*bc*sc*i*
alias:pci:v00008086d000010f4sv*sd*bc*sc*i*
alias:pci:v00008086d000010e1sv*sd*bc*sc*i*
alias:pci:v00008086d000010f1sv*sd*bc*sc*i*
alias:pci:v00008086d000010ecsv*sd*bc*sc*i*
alias:pci:v00008086d000010ddsv*sd*bc*sc*i*
alias:pci:v00008086d0000150bsv*sd*bc*sc*i*
alias:pci:v00008086d000010c8sv*sd*bc*sc*i*
alias:pci:v00008086d000010c7sv*sd*bc*sc*i*
alias:pci:v00008086d000010c6sv*sd*bc*sc*i*
alias:pci:v00008086d000010b6sv*sd*bc*sc*i*
depends:ptp,dca
vermagic:3.11.0-19-genericsmpmod_unloadmodversions
parm:interrupttype:changeinterruptmode(0=legacy,1=msi,2=msi-x),defaultintmode(deprecated)(arrayofint)
parm:intmode:changeinterruptmode(0=legacy,1=msi,2=msi-x),default2(arrayofint)
parm:mq:disableorenablemultiplequeues,default1(arrayofint)
parm:dca:disableorenabledirectcacheaccess,0=disabled,1=descriptoronly,2=descriptoranddata(arrayofint)
parm:rss:numberofreceive-sidescalingdescriptorqueues,default0=numberofcpus(arrayofint)
parm:vmdq:numberofvirtualmachinedevicequeues:0/1=disable,2-16enable(default=8)(arrayofint)
parm:max_vfs:numberofvirtualfunctions:0=disable(default),1-63=enablethismanyvfs(arrayofint)
parm:vepa:vepabridgemode:0=veb(default),1=vepa(arrayofint)
parm:interruptthrottlerate:maximuminterruptspersecond,pervector,(0,1,956-488281),default1(arrayofint)
parm:lliport:lowlatencyinterrupttcpport(0-65535)(arrayofint)
parm:llipush:lowlatencyinterruptontcppushflag(0,1)(arrayofint)
parm:llisize:lowlatencyinterruptonpacketsize(0-1500)(arrayofint)
parm:llietype:lowlatencyinterruptethernetprotocoltype(arrayofint)
parm:llivlanp:lowlatencyinterruptonvlanprioritythreshold(arrayofint)
parm:fdirpballoc:flowdirectorpacketbufferallocationlevel:
1=8khashfiltersor2kperfectfilters
2=16khashfiltersor4kperfectfilters
3=32khashfiltersor8kperfectfilters(arrayofint)
parm:atrsamplerate:softwareatrtxpacketsamplerate(arrayofint)
parm:fcoe:disableorenablefcoeoffload,default1(arrayofint)
parm:lro:largereceiveoffload(0,1),default1=on(arrayofint)
parm:allow_unsupported_sfp:allowunsupportedanduntestedsfp+moduleson82599basedadapters,default0=disable(arrayofint)

第四步: 测试ixgbe驱动

在测试新的模块之前,如果你内核中已存在旧版本ixgbe模块的话你需要先移除它。

$sudormmodixgbe

接着使用insmod命令插入新编译的ixgbe模块。确保指定一个模块的绝对路径。

$sudoinsmod./ixgbe.ko

如果上面的命令成功运行,就不会显示任何的信息。

如果你需要,你可以尝试加入额外的参数。比如,设置rss的队列数量为16:

$sudoinsmod./ixgbe.korss=16

检查/var/log/kern.log来查看ixgbe驱动是否成功激活。查看日志中的“intel(r) 10 gigabit pci express network driver”。ixgbe的版本信息应该和之前的modinfo的显示应该相同。

sep 18 14:48:52 spongebob kernel: [684717.906254] intel(r) 10 gigabit pci express network driver - version 3.22.3

第五步: 安装ixgbe驱动

一旦你验证新的ixgbe驱动可以成功加载,最后一步是在你的系统中安装驱动。

$sudomakeinstall

ixgbe.ko 会安装在/lib/modules//kernel/drivers/net/ethernet/intel/ixgbe 下。

从这一步起,你可以用下面的modprobe命令加载ixgbe驱动了。注意你不必再指定绝对路径。

$sudomodprobeixgbe

如果你希望在启动时加载ixgbe驱动,你可以在/etc/modules的最后加入“ixgbe”。

“Linux如何编译并安装ixgbe驱动”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:如何在linux中编译并安装Apache?

点赞(15) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部