So kompilieren und installieren Sie den ixgbe-Treiber unter Linux

王林
Freigeben: 2023-05-18 10:46:41
nach vorne
2278 Leute haben es durchsucht

Schritt eins: Installationsvoraussetzungen

Vor der Installation müssen Sie passende Kernel-Header-Dateien und Entwicklungs-Toolkits installieren.

  $ sudo apt-get install linux-headers-$(uname -r)
  $ sudo apt-get install gcc make
Nach dem Login kopieren

Schritt 2: Kompilieren Sie den ixgbe-Treiber

Laden Sie den Quellcode des neuesten ixgbe-Treibers herunter.

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

Kompilieren Sie den ixgbe-Treiber wie folgt.

  $ tar xvfvz ixgbe-3.23.2.tar.gz
  $ cd ixgbe-3.23.2/src
  $ make
Nach dem Login kopieren

Schritt 3: Überprüfen Sie den ixgbe-Treiber

Nach der Kompilierung sehen Sie, dass ixgbe.ko im Verzeichnis ixgbe-3.23.2/src erstellt wurde. Dies ist der ixgbe-Treiber, der in den Kernel geladen wird.

Verwenden Sie den Befehl modinfo, um die Kernelmodulinformationen zu überprüfen. Beachten Sie, dass Sie den absoluten Pfad zur Moduldatei angeben müssen (z. B. ./ixgbe.ko oder /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko). Die Ausgabe zeigt die Version des ixgbe-Kernels.

  $ modinfo ./ixgbe.ko
Nach dem Login kopieren
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)
Nach dem Login kopieren

Schritt 4: Testen Sie den ixgbe-Treiber

Bevor Sie das neue Modul testen, müssen Sie es zuerst entfernen, wenn die alte Version des ixgbe-Moduls bereits in Ihrem Kernel vorhanden ist.

  $ sudo rmmod ixgbe
Nach dem Login kopieren

Dann verwenden Sie den Befehl insmod, um das neu kompilierte ixgbe-Modul einzufügen. Stellen Sie sicher, dass Sie einen absoluten Pfad zum Modul angeben.

  $ sudo insmod ./ixgbe.ko
Nach dem Login kopieren

Wenn der obige Befehl erfolgreich ausgeführt wird, werden keine Informationen angezeigt.

Sie können versuchen, bei Bedarf zusätzliche Parameter hinzuzufügen. Stellen Sie beispielsweise die Anzahl der RSS-Warteschlangen auf 16 ein:

  $ sudo insmod ./ixgbe.ko rss=16
Nach dem Login kopieren

Überprüfen Sie /var/log/kern.log, um zu sehen, ob der ixgbe-Treiber erfolgreich aktiviert wurde. Überprüfen Sie das Protokoll auf „Intel(r) 10 Gigabit PCI Express Netzwerktreiber“. Die Versionsinformationen von ixgbe sollten mit der vorherigen Modinfo-Anzeige übereinstimmen.

18. September 14:48:52 Spongebob-Kernel: [684717.906254] Intel(r) 10-Gigabit-PCI-Express-Netzwerktreiber – Version 3.22.3

Schritt 5: Ixgbe-Treiber installieren

Sobald Sie den neuen ixgbe-Treiber überprüft haben erfolgreich geladen werden kann, besteht der letzte Schritt darin, den Treiber in Ihrem System zu installieren.

  $ sudo make install
Nach dem Login kopieren

ixgbe.ko wird unter /lib/modules//kernel/drivers/net/ethernet/intel/ixgbe installiert.

Von diesem Schritt aus können Sie den folgenden Modprobe-Befehl verwenden, um den ixgbe-Treiber zu laden. Beachten Sie, dass Sie nicht mehr den absoluten Pfad angeben müssen.

  $ sudo modprobe ixgbe
Nach dem Login kopieren

Wenn Sie den ixgbe-Treiber beim Start laden möchten, können Sie „ixgbe“ am Ende von /etc/modules hinzufügen.

Das obige ist der detaillierte Inhalt vonSo kompilieren und installieren Sie den ixgbe-Treiber unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!