搜索
首页运维linux运维Linux如何编译并安装ixgbe驱动

Linux如何编译并安装ixgbe驱动

May 18, 2023 am 10:46 AM
linuxixgbe

第一步: 安装前提

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

  $ sudo apt-get install linux-headers-$(uname -r)
  $ sudo apt-get install gcc make

第二步: 编译ixgbe驱动

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

  $ wget http://sourceforge.net/projects/e1000/files/ixgbe%20stable/3.23.2/ixgbe-3.23.2.tar.gz

如下编译ixgbe驱动。

  $ tar xvfvz ixgbe-3.23.2.tar.gz
  $ cd ixgbe-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) 10 gigabit pci express network driver
  author: intel corporation,
  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-generic smp mod_unload modversions
  parm: interrupttype:change interrupt mode (0=legacy, 1=msi, 2=msi-x), default intmode (deprecated) (array of int)
  parm: intmode:change interrupt mode (0=legacy, 1=msi, 2=msi-x), default 2 (array of int)
  parm: mq:disable or enable multiple queues, default 1 (array of int)
  parm: dca:disable or enable direct cache access, 0=disabled, 1=descriptor only, 2=descriptor and data (array of int)
  parm: rss:number of receive-side scaling descriptor queues, default 0=number of cpus (array of int)
  parm: vmdq:number of virtual machine device queues: 0/1 = disable, 2-16 enable (default=8) (array of int)
  parm: max_vfs:number of virtual functions: 0 = disable (default), 1-63 = enable this many vfs (array of int)
  parm: vepa:vepa bridge mode: 0 = veb (default), 1 = vepa (array of int)
  parm: interruptthrottlerate:maximum interrupts per second, per vector, (0,1,956-488281), default 1 (array of int)
  parm: lliport:low latency interrupt tcp port (0-65535) (array of int)
  parm: llipush:low latency interrupt on tcp push flag (0,1) (array of int)
  parm: llisize:low latency interrupt on packet size (0-1500) (array of int)
  parm: llietype:low latency interrupt ethernet protocol type (array of int)
  parm: llivlanp:low latency interrupt on vlan priority threshold (array of int)
  parm: fdirpballoc:flow director packet buffer allocation level:
  1 = 8k hash filters or 2k perfect filters
  2 = 16k hash filters or 4k perfect filters
  3 = 32k hash filters or 8k perfect filters (array of int)
  parm: atrsamplerate:software atr tx packet sample rate (array of int)
  parm: fcoe:disable or enable fcoe offload, default 1 (array of int)
  parm: lro:large receive offload (0,1), default 1 = on (array of int)
  parm: allow_unsupported_sfp:allow unsupported and untested sfp+ modules on 82599 based adapters, default 0 = disable (array of int)

第四步: 测试ixgbe驱动

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

  $ sudo rmmod ixgbe

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

  $ sudo insmod ./ixgbe.ko

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

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

  $ sudo insmod ./ixgbe.ko rss=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驱动可以成功加载,最后一步是在你的系统中安装驱动。

  $ sudo make install

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

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

  $ sudo modprobe ixgbe

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

以上是Linux如何编译并安装ixgbe驱动的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
Linux:深入研究其基本部分Linux:深入研究其基本部分Apr 21, 2025 am 12:03 AM

Linux的核心组件包括内核、文件系统、Shell、用户空间与内核空间、设备驱动程序以及性能优化和最佳实践。1)内核是系统的核心,管理硬件、内存和进程。2)文件系统组织数据,支持多种类型如ext4、Btrfs和XFS。3)Shell是用户与系统交互的命令中心,支持脚本编写。4)用户空间与内核空间分离,确保系统稳定性。5)设备驱动程序连接硬件与操作系统。6)性能优化包括调整系统配置和遵循最佳实践。

Linux体系结构:揭示5个基本组件Linux体系结构:揭示5个基本组件Apr 20, 2025 am 12:04 AM

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

Linux操作:利用维护模式Linux操作:利用维护模式Apr 19, 2025 am 12:08 AM

Linux的维护模式可以通过GRUB菜单进入,具体步骤为:1)在GRUB菜单中选择内核并按'e'编辑,2)在'linux'行末添加'single'或'1',3)按Ctrl X启动。维护模式提供了一个安全环境,适用于系统修复、重置密码和系统升级等任务。

Linux:如何进入恢复模式(和维护)Linux:如何进入恢复模式(和维护)Apr 18, 2025 am 12:05 AM

进入Linux恢复模式的步骤是:1.重启系统并按特定键进入GRUB菜单;2.选择带有(recoverymode)的选项;3.在恢复模式菜单中选择操作,如fsck或root。恢复模式允许你以单用户模式启动系统,进行文件系统检查和修复、编辑配置文件等操作,帮助解决系统问题。

Linux的基本要素:为初学者解释Linux的基本要素:为初学者解释Apr 17, 2025 am 12:08 AM

Linux的核心组件包括内核、文件系统、Shell和常用工具。1.内核管理硬件资源并提供基本服务。2.文件系统组织和存储数据。3.Shell是用户与系统交互的接口。4.常用工具帮助完成日常任务。

Linux:看看其基本结构Linux:看看其基本结构Apr 16, 2025 am 12:01 AM

Linux的基本结构包括内核、文件系统和Shell。1)内核管理硬件资源,使用uname-r查看版本。2)EXT4文件系统支持大文件和日志,使用mkfs.ext4创建。3)Shell如Bash提供命令行交互,使用ls-l列出文件。

Linux操作:系统管理和维护Linux操作:系统管理和维护Apr 15, 2025 am 12:10 AM

Linux系统管理和维护的关键步骤包括:1)掌握基础知识,如文件系统结构和用户管理;2)进行系统监控与资源管理,使用top、htop等工具;3)利用系统日志进行故障排查,借助journalctl等工具;4)编写自动化脚本和任务调度,使用cron工具;5)实施安全管理与防护,通过iptables配置防火墙;6)进行性能优化与最佳实践,调整内核参数和养成良好习惯。

了解Linux的维护模式:必需品了解Linux的维护模式:必需品Apr 14, 2025 am 12:04 AM

Linux维护模式通过在启动时添加init=/bin/bash或single参数进入。1.进入维护模式:编辑GRUB菜单,添加启动参数。2.重新挂载文件系统为读写模式:mount-oremount,rw/。3.修复文件系统:使用fsck命令,如fsck/dev/sda1。4.备份数据并谨慎操作,避免数据丢失。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境