Differences between revisions 4 and 7 (spanning 3 versions)
Revision 4 as of 2010-02-17 18:38:18
Size: 5086
Editor: DenisBernard
Comment:
Revision 7 as of 2020-03-29 15:31:19
Size: 5120
Editor: vauss
Comment: sync with English version
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[Modules|English]] - [[fr/Modules|Français]]-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]|| ||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[Modules|English]] - Français - [[it/Modules|Italiano]]-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]||
Line 6: Line 6:
''Cette page est une introduction et une FAQ pour les modules. Il n'est pas destiné à remplacer la documentation officielle (voir la liste au bas de la page).'' ''Cette page est une introduction et une FAQ pour les modules du noyau Linux. Il n'est pas destiné à remplacer la documentation officielle (voir la liste au bas de la page).''
Line 11: Line 11:
= Modules du noyau =
Sous Debian, le module peut être installé à partir de trois différents types de sources:
 * Upstream (Linux) des modules du noyau: il sont installés à partir du paquet{{{linux-image-2.6}}}.
 * Modules supplémentaires, qui ne sont pas dans le noyau Linux. Il sont généralement construits en utilisant DebianPkg:module-assistant. On accède à la liste des modules répertoriés en tapant la commande suivante: {{{apt-cache rdepends module-assistant}}}. ''Note'':certains de ces paquets se trouvent dans les sections {{{contrib}}} , ou {{{non-free}}}.
 * Les troisièmes types sont, des modules propriétaires et autres Binary blobs modules... Vous ne devez pas installer de tels modules sur votre système.
= Modules du noyau Linux =
Sous Debian, le module peut être installé à partir de trois différents types de sources :
 * Des modules du noyau amont (upstream) Linux : ils sont installés à partir du paquet{{{linux-image-*}}}.
 * Modules supplémentaires, qui ne sont pas dans le noyau amont de Linux. Il sont généralement construits en utilisant DebianPkg:dkms. Les modules disponibles peuvent être listés en exécutant {{{apt rdepends dkms}}}.
 * Un mécanisme plus ancien et moins flexible pour construire des modules supplémentaires est DebianPkg:
module-assistant. On accède à la liste des modules répertoriés en tapant la commande suivante {{{apt rdepends module-assistant}}}.
 *
''Note'' : certains de ces paquets se trouvent dans les sections {{{contrib}}}, ou {{{non-free}}}.
 * Les troisièmes types sont des modules propriétaires, de tierce partie, et autres modules blobs binaires... Vous ne devez pas installer de tels modules sur votre système sauf si vous n'avez pas d'autres choix.
Line 21: Line 23:
Lorsque vous voulez accédez à un périphérique mais que le noyau n'accède pas aux alias de ce dernier, vous pouvez ajouter un fichier dans /etc/modutils puis exécuter update-modules qui génèrera le fichier /etc/modules.conf. Quand le noyau reçoit une demande d'ouverture d'un fichier de périphérique, il s'en suit une requête à modprobe pour les modules du périphérique en fonction de ''char-major-n'' ou ''block-major-n'' qui dépendent de ce périphériques. Les périphériques sont identifiés de la façon suivante: Lorsque vous voulez accéder à un périphérique mais que le noyau n'accède pas aux alias de ce dernier, vous pouvez ajouter des lignes dans {{{/etc/modules}}} ou un fichier à {{{/etc/modules-load.d/}}}. Quand le noyau Linux reçoit une demande d'ouverture d'un fichier de périphérique, il s'ensuit une requête à modprobe pour les modules du périphérique en fonction de ''char-major-n'' ou ''block-major-n'' qui dépendent de ce périphériques. Les périphériques sont identifiés de la façon suivante :
Line 23: Line 25:
 *Un '''block-major-n''' (numéro de bloc majeur) : type de périphérique,caractère (characters) ou système (devices). (c/b)  *Un '''block-major-n''' (numéro de bloc majeur) : type de périphérique, caractère (characters) ou système (devices). (c/b)
Line 27: Line 29:
Par exemple, mes périphériques audios ont un numéro majeur 14, et mon module de son est emu10k1 aussi j'ai ajouté les alias suivant à mon répertoire/etc/modutils dans un fichier sound.Voici un exemple: Par exemple, mes périphériques audio ont un numéro majeur 14, et mon module de son est emu10k1, aussi j'ai ajouté les alias suivants à mon répertoire {{{/etc/modules-load.d}}} dans un fichier sound. Voici un exemple :
Line 31: Line 33:
 }}}
 *Le premier caractère identifie le type périphérique : c pour caractère.
 *Numéro majeur :14
 *Numéro mineur :3
{{{
$ Cat /etc/modutils/sound

$ cat /etc/modules-load.d
Line 41: Line 39:
Il existe des alias prédéfinis pour remplacer char-major-xxx pour les périphériques courants : ''eth0'' pour la première carte ethernet (''eth1'' pour la suivante, etc.), ''parport_lowlevel'' pour le port parallèle, ''sound'' pour la carte son, ''midi'' pour la partie midi de la carte son, etc.
Un alias peut être utilisé pour créer des noms de modules. Une ligne dans /etc/ modules.conf pourrait ressembler à ceci:

Ce fichier relie des noms de modules du [[Kernel|noyau Linux]] spécifiques aux noms de service que le noyau connait (alias).
À titre d'exemple très simple, il pourrait lier le service ''eth0'' au module de pilote du noyau pour la carte Ethernet particulière que vous avez installée sur votre ordinateur.
Un alias peut être utilisé pour créer des noms de modules. Une ligne dans /etc/ modules.conf pourrait ressembler à ceci :
Line 53: Line 53:
 * ''modinfo'' : affiche des informations concernant le module, i.e. auteur, description, paramètres du module, et cætera.  * ''modinfo'' : affiche des informations concernant le module, cäd auteur, description, paramètres du module, etc.
Line 57: Line 58:
 * [[ModuleAssistant]] - construire des modules supplémentaires.  * [[KernelDKMS]] - contruire des modules supplémentaires avec dkms.
* [[ModuleAssistant]] - construire des modules supplémentaires avec module-assistant.
Line 59: Line 61:
* Les pages de manuel:
  * [[DebianMan8/modprobe|modprobe]], [[DebianMan8/lsmod|lsmod]], [[DebianMan8/modinfo|modinfo]] et [[DebianMan8/update-modules|update-modules]]
  * ... Et aussi [[DebianMan8/insmod | insmod]], [[DebianMan8/depmod | depmod]], [[DebianMan8/rmmod | rmmod]], [[DebianMan5/depmod.conf | depmod.conf]], [[DebianMan5/modules | Modules]], [[DebianMan5/modules.dep | modules.dep]] et [[DebianMan5/modprobe.conf | modprobe.conf]]
 * Les pages de manuel :
  * DebianMan:dkms DebianMan:module-assistant
  * DebianMan:modprobe DebianMan:lsmod DebianMan:modinfo
  * DebianMan:insmod DebianMan:depmod DebianMan:rmmod DebianMan:depmod.d DebianMan:modules DebianMan:modules.dep DebianMan:modprobe.d
Line 72: Line 75:
UpdateEnglish + IMPROVEMENTS English revision

Translation(s): English - Français - Italiano

(!) ?Discussion

Cette page est une introduction et une FAQ pour les modules du noyau Linux. Il n'est pas destiné à remplacer la documentation officielle (voir la liste au bas de la page).

Modules du noyau Linux

Sous Debian, le module peut être installé à partir de trois différents types de sources :

  • Des modules du noyau amont (upstream) Linux : ils sont installés à partir du paquetlinux-image-*.

  • Modules supplémentaires, qui ne sont pas dans le noyau amont de Linux. Il sont généralement construits en utilisant dkms. Les modules disponibles peuvent être listés en exécutant apt rdepends dkms.

  • Un mécanisme plus ancien et moins flexible pour construire des modules supplémentaires est module-assistant. On accède à la liste des modules répertoriés en tapant la commande suivante apt rdepends module-assistant.

  • Note : certains de ces paquets se trouvent dans les sections contrib, ou non-free.

  • Les troisièmes types sont des modules propriétaires, de tierce partie, et autres modules blobs binaires... Vous ne devez pas installer de tels modules sur votre système sauf si vous n'avez pas d'autres choix.

Le chargement automatique des modules

(i) De nos jours, la plupart des modules liés au fonctionnement du matériel devraient être automatiquement chargés, merci à udev et aux alias modules et qui sont codées en dur dans les modules du noyau (voir les champs alias en sortie de modinfo snd-hda-intel).

Lorsque vous voulez accéder à un périphérique mais que le noyau n'accède pas aux alias de ce dernier, vous pouvez ajouter des lignes dans /etc/modules ou un fichier à /etc/modules-load.d/. Quand le noyau Linux reçoit une demande d'ouverture d'un fichier de périphérique, il s'ensuit une requête à modprobe pour les modules du périphérique en fonction de char-major-n ou block-major-n qui dépendent de ce périphériques. Les périphériques sont identifiés de la façon suivante :

  • Un block-major-n (numéro de bloc majeur) : type de périphérique, caractère (characters) ou système (devices). (c/b)

  • Un char-major-n (numéro majeur): il identifie le pilote du périphérique.

  • Un char-minor-n (numéro mineur): il sert à différencier les périphériques utilisant un même pilote.

Par exemple, mes périphériques audio ont un numéro majeur 14, et mon module de son est emu10k1, aussi j'ai ajouté les alias suivants à mon répertoire /etc/modules-load.d dans un fichier sound. Voici un exemple :

Ls-l / dev / dsp
crw-rw ---- 1 root audio 14, 3 Jul 5 2000 / dev / dsp

$ cat /etc/modules-load.d
alias char-major-14 emu10k1

Alias

Ce fichier relie des noms de modules du noyau Linux spécifiques aux noms de service que le noyau connait (alias). À titre d'exemple très simple, il pourrait lier le service eth0 au module de pilote du noyau pour la carte Ethernet particulière que vous avez installée sur votre ordinateur. Un alias peut être utilisé pour créer des noms de modules. Une ligne dans /etc/ modules.conf pourrait ressembler à ceci :

alias iso9660 isofs

Cela rend possible l'écriture de iso9660 dans modprobe bien qu'il n'existe pas de fichier objet pour un tel module.

Commandes pour les modules

  • insmod : insert un module seul.

  • modprobe : insère un module en incluant tous les modules dont il dépend.

  • rmmod : retire un module.

  • modinfo : affiche des informations concernant le module, cäd auteur, description, paramètres du module, etc.

Voir aussi

Autres pages utiles en français

http://www.unixgarden.com/index.php/programmation/programmation-noyau-sous-linux-pilotes-en-mode-caractere

http://www.lea-linux.org/documentations/index.php/Kernel-modules

http://www.alphanet.ch/~schaefer/unixguide/unixguide_html/node58.html

http://www.delafond.org/traducmanfr/man/man5/modules.conf.5.html


CategoryKernel