Kernel module (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir ArchWiki:Translation Team (Français) (Discuss in Talk:Kernel module (Français)#)

Un module est une fonctionnalité du noyau qui peut être (dé)chargée à chaud. Les modules sont stockés dans /lib/modules/version_noyau (uname -r pour avoir la version du noyau).

Note: Le nom des modules peut comporter un tiret bas (_) ou un tiret normal (-), ces deux symboles sont interchangeables dans les commandes ou la configuration.

Obtenir des informations

Lister les modules chargés :

lsmod

Afficher des informations sur un module :

modinfo nom_du_module

Afficher les dépendances d'un module :

modprobe --show-depends nom_du_module

Lister les options d'un module chargé :

systool -v -m nom_du_module

Voir la configuration :

modprobe -c

Chargement

Pour ajouter un module manuellement :

modprobe nom_du_module
Note: La plupart des modules sont détéctés lors du boot.

Pour spécifier explicitement un module à charger au boot, vous devez créer un fichier dans /etc/modules-load.d, le nom importe peu du moment qu'il se termine par .conf :

/etc/modules-load.d/mon_module.conf
mon_module
Note: Si vous placez plusieurs modules dans un même fichier de configuration, chaque module doit occuper une nouvelle ligne.

Supression

Pour enlever manuellement un module :

modprobe -r nom_du_module
# ou
rmmod nom_du_module

/etc/modprobe.d

Les modules peuvent se paramétrer à l'aide de fichiers contenu dans /etc/modprobe.d (de même que modules-load.d, le nom du fichier crée doit se finir en .conf).

Paramètres

/etc/modprobe.d/mon_module.conf
options mon_module param1=val1
Note: Les paramètres peuvent aussi être passées depuis la ligne du noyau (et c'est aussi valable pour les modules compilés dans le noyau):
mon_module.param1=val1

Alias

On peut spécifier un alias pour avoir un nom plus évocateur :

/etc/modprobe.d/wlan.conf
alias bcma-pci-bridge wlan0

Certains modules ont des alias utilisés pour le chargement en automatique; vous pouvez désactiver ces alias pour empêcher le chargement :

/etc/modprobe.d/no_auto.conf
# Pas de bluetooth en auto
alias net-pf-31 off
# ni d'ipv6
alias net-pf-10 off

Blacklist

Vous pouvez vouloir empêcher le chargement en auto d'un module pour différentes raisons (pas besoins du matériel, problème quelconque avec le module, etc.), pour cela :

/etc/modprobe.d/modprobe.conf
# Ne pas activer le speaker
blacklist pcspkr

Ceci dit, blacklist ne fait qu'empêcher le chargement du module cité, ceci n'empêche pas le chargement manuel, ni le chargement du à une dépendance d'un autre module. Pour éviter cela :

/etc/modprobe.d/modprobe.conf
install module_a_pas_charger /bin/false
Attention: N'oubliez pas de regénérer l'initramfs avec mkinitcpio une fois la configuration modifiée.

Vous pouvez aussi désactiver un module depuis la ligne du noyau :

modprobe.blacklist=module1,module2,...