Comment charger et décharger les modules du noyau dans Linux

Comment charger et décharger les modules du noyau dans Linux

Un module de noyau est un programme qui peut être chargé ou déchargé du noyau à la demande, sans nécessairement le redémarrer (le noyau) ou redémarrer le système, et est destiné à améliorer la fonctionnalité du noyau.

En termes de logiciels généraux, les modules ressemblent plus ou moins à des plugins à un logiciel tel que WordPress. Les plugins fournissent des moyens d'étendre les fonctionnalités du logiciel, sans elles, les développeurs devraient créer un seul logiciel massif avec toutes les fonctionnalités intégrées dans un package. Si de nouvelles fonctionnalités sont nécessaires, elles devraient être ajoutées dans de nouvelles versions d'un logiciel.

De même sans modules, le noyau devrait être construit avec toutes les fonctionnalités intégrées directement dans l'image du noyau. Cela signifierait avoir des grains plus gros, et les administrateurs système devraient recompiler le noyau à chaque fois qu'une nouvelle fonctionnalité est nécessaire.

Un exemple simple de module est un pilote de périphérique - qui permet au noyau d'accéder à un composant / périphérique matériel connecté au système.

Lire suggérée: Comment savoir quelle version de Linux vous utilisez

Énumérez tous les modules de noyau chargé dans Linux

Dans Linux, tous les modules se terminent avec le .ko Extension, et ils sont normalement chargés automatiquement lorsque le matériel est détecté au démarrage du système. Cependant, un administrateur système peut gérer les modules en utilisant certaines commandes.

Pour répertorier tous les modules actuellement chargés dans Linux, nous pouvons utiliser le lsmod (lister les modules) Commande qui lit le contenu de / proc / modules comme ça.

# lsmod 
Répertoriez les modules du noyau dans Linux
Module Size Used by rfcomm 69632 2 pci_stub 16384 1 vboxpci 24576 0 vboxnetadp 28672 0 vboxnetflt 28672 0 vboxdrv 454656 3 vboxnetadp,vboxnetflt,vboxpci bnep 20480 2 rtsx_usb_ms 20480 0 memstick 20480 1 rtsx_usb_ms btusb 45056 0 uvcvideo 90112 0 btrtl 16384 1 btusb btbcm 16384 1 btusb videobuf2_vmalloc 16384 1 uvcvideo btintel 16384 1 btusb videobuf2_memops 16384 1 videobuf2_vmalloc bluetooth 520192 29 bnep,btbcm,btrtl,btusb,rfcomm,btintel videobuf2_v4l2 28672 1 uvcvideo videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2 v4l2_common 16384 1 videobuf2_v4l2 videodev 176128 4 uvcvideo,v4l2_common,videobuf2_core, Videobuf2_v4l2 Intel_rapl 20480 0 x86_pkg_temp_thermal 16384 0 Media 24576 2 uvcvideo, videodev… 

Comment charger et décharger (supprimer) les modules de noyau dans Linux

Pour charger un module de noyau, nous pouvons utiliser le insmod (insérer le module) Commande. Ici, nous devons spécifier le chemin complet du module. La commande ci-dessous inséra le speedstep-lib.ko module.

# insmod / lib / modules / 4.4.0-21 générique / noyau / pilotes / cpufreq / speedstep-lib.ko 

Pour décharger un module de noyau, nous utilisons le rmmod (Supprimer le module) Commande. L'exemple suivant déchargera ou supprimera le speedstep-lib.ko module.

# rmmod / lib / modules / 4.4.0-21 générique / noyau / pilotes / cpufreq / speedstep-lib.ko 

Comment gérer les modules du noyau à l'aide de la commande modprobe

modprobe est une commande intelligente pour la liste, l'insertion et la suppression des modules du noyau. Il recherche dans le répertoire du module / lib / modules / $ (uname -r) pour tous les modules et fichiers connexes, mais exclut les fichiers de configuration alternatifs dans le / etc / modprobe.d annuaire.

Ici, vous n'avez pas besoin du chemin absolu d'un module; C'est l'avantage d'utiliser modprobe sur les commandes précédentes.

Pour insérer un module, fournissez simplement son nom comme suit.

# modprobe Speedstep-lib 

Pour supprimer un module, utilisez le -r Flag comme ça.

# modprobe -r speedstep-lib 

Note: Sous modprobe, la conversion de soulignement automatique est effectuée, il n'y a donc pas de différence entre _ et - Tout en entrant des noms de modules.

Pour plus d'informations et d'options d'utilisation, lisez la page Modprobe Man.

# homme modprobe 

N'oubliez pas de vérifier:

  1. Comment changer les paramètres d'exécution du noyau d'une manière persistante et non persistante
  2. Comment installer ou passer à la dernière version du noyau dans Centos 7
  3. Comment mettre à niveau le noyau vers la dernière version dans Ubuntu

C'est tout pour le moment! Avez-vous des idées utiles, que vous vouliez que nous ajoutions à ce guide ou à ce requête, utilisez le formulaire de rétroaction ci-dessous pour nous les déposer.