Wie verstehe ich die Modinfo-Ausgabe?

11

Ich versuche nur, die modinfoAusgabe zu verstehen , die ein Kernelmodul beschreibt. Im Fall des Moduls i915sieht die Ausgabe beispielsweise folgendermaßen aus:

$ modinfo i915
filename:       /lib/modules/4.2.0-1-amd64/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Intel Corporation
[...]
firmware:       i915/skl_dmc_ver1.bin
alias:          pci:v00008086d00005A84sv*sd*bc03sc*i*
[...]
depends:        drm_kms_helper,drm,video,button,i2c-algo-bit
intree:         Y
vermagic:       4.2.0-1-amd64 SMP mod_unload modversions
parm:           modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, 1=on, -1=force vga console preference [default]) (int)
[...]

Ich kann einige der Felder verstehen, habe aber keine Ahnung, was Folgendes bedeutet:

  • firmware
  • alias
  • intree
  • vermagic

Weiß jemand, wie man sie interpretiert?

Mikhail Morfikov
quelle

Antworten:

13

Firmware :

firmware:       i915/skl_dmc_ver1.bin

Viele Geräte benötigen zwei Dinge, um richtig zu funktionieren. Ein Treiber und eine Firmware. Der Treiber fordert die Firmware vom Dateisystem unter an /lib/firmware. Dies ist eine spezielle Datei, die von der Hardware benötigt wird. Es handelt sich nicht um eine Binärdatei. Der Taucher tut dann, was er tun muss, um die Firmware in das Gerät zu laden. Die Firmware programmiert die Hardware im Gerät.


Alias :

alias:          pci:v00008086d00005A84sv*sd*bc03sc*i*

Dies kann im Teil nach den Zeichen aufgeteilt werden:

  • v00008086: vsteht für die Hersteller-ID und identifiziert einen Hardware-Hersteller. Diese Liste wird von der PCI Special Interest Group geführt . Ihre Nummer 0x8086 steht für "Intel Corporation".
  • d00005A84: dsteht für die Geräte-ID , die vom Hersteller ausgewählt wird. Diese ID wird normalerweise mit der Hersteller-ID gepaart, um eine eindeutige 32-Bit-Kennung für ein Hardwaregerät zu erstellen. Es gibt keine offizielle Liste und ich konnte keine Intel-Geräte-ID-Liste finden, um diese Nummer nachzuschlagen.
  • sv*, sd*: Die Version des Subsystemherstellers und die Version des Subsystemgeräts dienen zur weiteren Identifizierung eines Geräts ( *zeigt an, dass es mit irgendetwas übereinstimmt).
  • bc03: Die Basisklasse . Es definiert, um welche Art von Gerät es sich handelt. IDE interface, Ethernet controller, USB Controller, ... bc03steht für Display controller. Sie können sie an der Ausgabe von bemerken lspci, da lspcidie Nummer der Geräteklasse zugeordnet ist.
  • sc*: Eine Unterklasse zur Basisklasse.
  • i*: Schnittstelle

Intree :

intree:         Y

Alle Kernelmodule beginnen ihre Entwicklung als out-of-tree. Sobald ein Modul als aufgenommen akzeptiert wird, wird es zu einem in-treeModul. Ein Modul ohne dieses Flag (gesetzt auf N) könnte den Kernel beschädigen .


vermagisch :

vermagic:       4.2.0-1-amd64 SMP mod_unload modversions

Beim Laden eines Moduls werden die Zeichenfolgen im vermagicWert überprüft, ob sie übereinstimmen. Wenn sie nicht übereinstimmen, wird eine Fehlermeldung angezeigt und der Kernel weigert sich, das Modul zu laden. Sie können dies überwinden, indem Sie die --forceFlagge von verwenden modprobe. Diese Überprüfungen dienen natürlich Ihrem Schutz, daher ist die Verwendung dieser Option gefährlich.

Chaos
quelle