Comment comprendre la sortie modinfo?

11

J'essaie juste de comprendre la modinfosortie qui décrit un module du noyau. Par exemple, dans le cas du module i915, la sortie ressemble à ceci:

$ 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)
[...]

Je suis capable de comprendre certains domaines, mais je n'ai aucune idée de ce que cela signifie:

  • firmware
  • alias
  • intree
  • vermagic

Quelqu'un sait-il les interpréter?

Mikhail Morfikov
la source

Réponses:

13

firmware :

firmware:       i915/skl_dmc_ver1.bin

De nombreux appareils ont besoin de deux choses pour fonctionner correctement. Un pilote et un firmware. Le pilote demande le micrologiciel au système de fichiers à l'adresse /lib/firmware. C'est un fichier spécial, nécessaire au matériel, ce n'est pas un binaire. Le plongeur fait alors ce qu'il doit faire pour charger le firmware dans l'appareil. Le firmware programme le matériel à l'intérieur de l'appareil.


alias :

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

Cela peut être divisé dans la partie après les caractères:

  • v00008086: vreprésente l' ID du fournisseur , il identifie un fabricant de matériel. Cette liste est tenue à jour par le PCI Special Interest Group . Votre numéro 0x8086 signifie "Intel Corporation".
  • d00005A84: dreprésente l' ID de l' appareil , qui est sélectionné par le fabricant. Cet ID est généralement associé à l'ID du fournisseur pour créer un identifiant 32 bits unique pour un périphérique matériel. Il n'y a pas de liste officielle et je n'ai pas pu trouver de liste d'identifiants de périphériques Intel pour rechercher ce numéro.
  • sv*, sd*: La version du fournisseur du sous - système et la version du périphérique du sous - système servent à identifier davantage un périphérique ( *indique qu'il correspondra à tout)
  • bc03: La classe de base . Il définit de quel type d'appareil il s'agit; IDE interface, Ethernet controller, USB Controller, ... bc03est synonyme de Display controller. Vous pouvez les remarquer à la sortie de lspci, car lspcimappe le nombre à la classe d'unité.
  • sc*: Une sous-classe à la classe de base.
  • i*: interface

intree :

intree:         Y

Tous les modules du noyau commencent leurs développements en tant que out-of-tree. Une fois qu'un module est accepté pour être inclus, il devient un in-treemodule. Un module sans cet indicateur (défini sur N) pourrait entacher le noyau .


vermagique :

vermagic:       4.2.0-1-amd64 SMP mod_unload modversions

Lors du chargement d'un module, les chaînes de la vermagicvaleur sont vérifiées si elles correspondent. S'ils ne correspondent pas, vous obtiendrez une erreur et le noyau refusera de charger le module. Vous pouvez surmonter cela en utilisant le --forcedrapeau de modprobe. Naturellement, ces contrôles sont là pour votre protection, il est donc dangereux d'utiliser cette option.

le chaos
la source