GNU/Linux >> Tutoriels Linux >  >> Linux

Afficher les informations du module du noyau Linux avec la commande Modinfo

Ce bref guide explique ce qu'est le module Linux Kernel , comment lister les modules Kernel actuellement chargés en utilisant lsmod , et comment afficher les informations du module Linux Kernel avec modinfo commande sous Linux.

Qu'est-ce que le module du noyau Linux ?

Le noyau Linux est le composant principal d'un système d'exploitation GNU/Linux. La fonctionnalité du noyau Linux peut être étendue sans qu'il soit nécessaire de redémarrer le système à l'aide de modules du noyau . Un module Kernel est un morceau de code qui peut être chargé et déchargé dans le noyau à la demande.

Quelques exemples de modules du noyau sont les micrologiciels et les pilotes de périphériques, qui permettent au noyau Linux d'accéder et de contrôler le matériel connecté au système. Généralement, les modules Kernel sont utilisés pour ajouter la prise en charge de nouveaux matériels (en tant que pilotes de périphériques) et/ou de systèmes de fichiers , ou pour ajouter des appels système .

Sans modules Kernel, nous devons reconstruire et redémarrer le noyau chaque fois que nous voulons une nouvelle fonctionnalité. Nous devons également construire des noyaux monolithiques plus gros et ajouter de nouvelles fonctionnalités directement dans l'image du noyau sans les modules Kernel. Avec l'aide d'un module Kernel, nous pouvons simplement éviter ces problèmes.

Les modules du noyau sont généralement stockés sous Les modules sont stockés dans /usr/lib/modules/<kernel_release_directory> .

$ ls /usr/lib/modules/5.11.18-300.fc34.x86_64/
 bls.conf                   modules.builtin.bin      modules.symbols
 build                      modules.builtin.modinfo  modules.symbols.bin
 config                     modules.dep              source
 extra                      modules.dep.bin          symvers.gz
 kernel                     modules.devname          System.map
 modules.alias              modules.drm              updates
 modules.alias.bin          modules.modesetting      vdso
 modules.block              modules.networking       vmlinuz
 modules.builtin            modules.order            weak-updates
 modules.builtin.alias.bin  modules.softdep 

Les modules du noyau sont référencés avec des noms différents dans différents systèmes d'exploitation. Par exemple, un module Kernel est appelé module chargeable du noyau (kld) dans FreeBSD, extension du noyau (kext) dans macOS, module d'extension du noyau dans AIX, pilote en mode noyau dans Windows NT et module de noyau téléchargeable (DKM) dans VxWorks. Ils sont également connus sous le nom de modules chargeables par le noyau (ou KLM) et simplement sous le nom de modules du noyau (KMOD).

Répertorier les modules du noyau Linux à l'aide de la commande lsmod

Nous pouvons afficher la liste des modules du noyau qui sont actuellement chargés dans le noyau en utilisant lsmod (liste des modules) comme ci-dessous :

$lsmod

Exemple de résultat :

  Module                  Size  Used by
 vhost_net              32768  0
 vhost                  57344  1 vhost_net
 vhost_iotlb            16384  1 vhost
 tap                    28672  1 vhost_net
 tun                    57344  1 vhost_net
 rfcomm                 90112  4
 snd_seq_dummy          16384  0
 snd_hrtimer            16384  1
 xt_CHECKSUM            16384  1
 xt_MASQUERADE          20480  3
 xt_conntrack           16384  1
 ipt_REJECT             16384  2
 nf_nat_tftp            16384  0
 nf_conntrack_tftp      20480  3 nf_nat_tftp
 bridge                290816  0
 stp                    16384  1 bridge
 llc                    16384  2 bridge,stp
 ccm                    20480  6
 nft_objref             16384  2
 nf_conntrack_netbios_ns    16384  1
 nf_conntrack_broadcast    16384  1 nf_conntrack_netbios_ns
 nft_fib_inet           16384  1
[...] 

La commande lsmod obtient les détails des modules du noyau actuellement chargés à partir du fichier /proc/modules .

J'espère que vous aurez une idée de base de ce que sont les modules du noyau Linux et comment répertorier les modules actuellement chargés dans le noyau Linux. Allons de l'avant et voyons comment afficher les détails d'un module spécifique du noyau.

Afficher les informations du module du noyau Linux avec la commande modinfo

Le modinfo La commande affiche les informations détaillées d'un module Kernel donné. Par défaut, il liste les attributs d'un module Kernel sous la forme fieldname : value , pour une lecture facile.

Pour afficher les informations d'un module Linux Kernel, par exemple 88XXau , qui est l'adaptateur sans fil TP-Link AC600 (Archer T2U Nano) , exécutez :

$ modinfo 88XXau

Exemple de résultat :

filename:       /lib/modules/5.11.18-300.fc34.x86_64/extra/88XXau.ko.xz
 version:        v5.6.4.2_35491.20191025
 author:         Realtek Semiconductor Corp.
 description:    Realtek Wireless Lan Driver
 license:        GPL
 srcversion:     4EC0EE17404B8E38B323235
 alias:          usb:v7392pB611ddcdscdpiciscipin
 alias:          usb:v7392pA813ddcdscdpiciscipin
 alias:          usb:v7392pA812ddcdscdpiciscipin
 alias:          usb:v7392pA811ddcdscdpiciscipin
 alias:          usb:v3823p6249ddcdscdpiciscipin
 alias:          usb:v2357p0122ddcdscdpiciscipin
 alias:          usb:v2357p0120ddcdscdpiciscipin
[...] 

Ne pas ajouter de .ko extension à la fin du nom du module Kernel. Parce que les noms des modules du noyau n'ont pas d'extensions, mais leurs fichiers correspondants en ont.

Afficher certains détails des modules du noyau

Lorsque vous exécutez modinfo sans aucune option, il affiche un grand nombre d'informations sur le module de noyau donné. Vous pouvez affiner le résultat en n'affichant que des champs spécifiques tels que author , description , license , parm , depends , et alias . Les commandes suivantes affichent les détails de chaque champ du 88XXau module.

1. Auteur du module Display Kernel (fournisseur)

Pour voir qui a écrit un module Kernel, utilisez author drapeau.

$ modinfo -F auteur 88XXau 
Realtek Semiconductor Corp.

2. Afficher la description du module noyau

Pour imprimer la description d'un module Kernel, utilisez description drapeau.

$ modinfo -F description 88XXau 
Pilote LAN sans fil Realtek

3. Afficher la licence du module Kernel

Connaître la licence d'un module Kernel peut être utile lorsque vous souhaitez savoir si le firmware et les pilotes sont open source ou fermés. Certaines distributions Linux peuvent inclure des pilotes non libres par défaut. Vous pouvez vérifier si un lecteur de périphérique est libre ou non en vérifiant la licence qui lui est attachée.

$ modinfo -F licence 88XXau 
GPL

La plupart des modules Kernel sont sous licence GPL (Licence Publique GNU). Quelques modules peuvent avoir une double licence, par exemple BSD et GPL .

$ modinfo -F license zram Dual BSD/GPL

4. Afficher les paramètres du module Kernel

Pour afficher les paramètres d'un module Kernel, exécutez :

$ modinfo -F parm 88XXaurtw_wireless_mode :(int)rtw_monitor_overwrite_seqnum :écrase le numéro de séquence des trames injectées (int)rtw_monitor_retransmit :retransmet les trames injectées (int)rtw_monitor_disable_1m :désactive le débit de 1 Mbps par défaut pour surveiller les trames injectées (int)rtw_ips_mode :la valeur par défaut Mode IPS (int)rtw_lps_level :Le niveau LPS par défaut (int)[...]

5. Afficher les dépendances des modules du noyau

Pour afficher les dépendances d'un module Kernel, exécutez :

$ modinfo -F dépend de 88XXau 
cfg80211

Vous pouvez également utiliser -a/--author , -d/--description , -l/--license , -p/--parameters flags pour afficher les détails spécifiques des modules du noyau. Ce ne sont que les raccourcis pour le --field auteur, description, licence et paramètre du drapeau. Par exemple, vous pouvez utiliser -l ou --license flag pour afficher la licence d'un module Kernel.

$ modinfo -l kvm

Ou,

$ modinfo --license kvm

Les commandes ci-dessus sont équivalentes à la commande suivante :

$ modinfo -F licence kvm

Pour plus de détails sur modinfo commande, consultez ses pages de manuel.

$ man modinfo

J'espère que cela vous aidera.

Lire connexe :

  • Répertorier ou vérifier tous les noyaux Linux installés à partir de la ligne de commande
  • Gérer et surveiller les modules du noyau Linux avec Kmon

Linux
  1. Commande JQ sous Linux avec exemples

  2. Comment utiliser la commande Rmmod sous Linux avec des exemples

  3. Comment utiliser le type de commande (afficher des informations sur la commande) sous Linux

  4. Linux – Un noyau corrompu sous Linux ?

  5. Commande Linux ls

Commande de date sous Linux avec des exemples d'utilisation

Commande modprobe Linux avec des exemples utiles

Commande Linux slabtop - Afficher les informations sur le cache de la dalle du noyau

Répertorier les informations du module de noyau chargé à l'aide de la commande Lsmod

Gérer et surveiller les modules du noyau Linux avec Kmon

Obtenir des informations sur une commande avec une commande de type sous Linux