Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:tout_savoir_sur_les_modules_linux [Le 23/01/2011, 14:40] 90.12.149.220 |
tutoriel:tout_savoir_sur_les_modules_linux [Le 09/02/2024, 07:31] (Version actuelle) 82un0 [Information sur un module] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== Les modules Linux ====== | ====== Les modules Linux ====== | ||
- | |||
- | |||
===== Présentation ===== | ===== Présentation ===== | ||
Ligne 19: | Ligne 17: | ||
{{materiel:modules_linux.png|}} | {{materiel:modules_linux.png|}} | ||
- | |||
- | |||
- | |||
- | |||
===== Gestion des modules ===== | ===== Gestion des modules ===== | ||
- | |||
- | |||
- | |||
==== Lister les modules actifs ==== | ==== Lister les modules actifs ==== | ||
- | |||
On peut connaître tous les modules actifs en tapant ''lsmod'' dans un terminal (ajouter "| more" pour afficher page par page) : | On peut connaître tous les modules actifs en tapant ''lsmod'' dans un terminal (ajouter "| more" pour afficher page par page) : | ||
Ligne 47: | Ligne 37: | ||
On voit que le module "freq_table" est utilisé par "cpufreq_stats". Il y a des dépendances entre les modules. Il faut en tenir compte lorsque l'on veut décharger des modules. | On voit que le module "freq_table" est utilisé par "cpufreq_stats". Il y a des dépendances entre les modules. Il faut en tenir compte lorsque l'on veut décharger des modules. | ||
- | |||
- | |||
==== Information sur un module ==== | ==== Information sur un module ==== | ||
Ligne 55: | Ligne 43: | ||
<code> | <code> | ||
- | $ modinfo rt2500 | + | # modinfo rt2500 |
filename: /lib/modules/2.6.15-28-386/kernel/drivers/net/wireless/rt2500/rt2500.ko | filename: /lib/modules/2.6.15-28-386/kernel/drivers/net/wireless/rt2500/rt2500.ko | ||
author: http://rt2x00.serialmonkey.com | author: http://rt2x00.serialmonkey.com | ||
Ligne 69: | Ligne 57: | ||
On voit que rt2500 s'occupe de la gestion d'une interface wlan chipset Ralink rt2500 et on est bien content qu'elle fonctionne. (cette interface s'appelle ra*)\\ | On voit que rt2500 s'occupe de la gestion d'une interface wlan chipset Ralink rt2500 et on est bien content qu'elle fonctionne. (cette interface s'appelle ra*)\\ | ||
- | |||
Si l'on ne désire qu'une information précise, on peut spécifier le champ (field) à afficher avec l'option -F. | Si l'on ne désire qu'une information précise, on peut spécifier le champ (field) à afficher avec l'option -F. | ||
Par exemple, si nous ne voulons voir que la description du module rt2500 : | Par exemple, si nous ne voulons voir que la description du module rt2500 : | ||
- | $ modinfo rt2500 -F description | + | # modinfo rt2500 -F description |
Ralink RT2500 802.11g WLAN driver 1.1.0 CVS 2005/07/10 | Ralink RT2500 802.11g WLAN driver 1.1.0 CVS 2005/07/10 | ||
Sachez cependant que tous les modules ne fournissent pas les même informations, et qu'il se peut que ce type de commande ne renvoie rien. Par exemple, le module //rt2500// n'a pas de champ "version", alors que le module //8139too// en a un. | Sachez cependant que tous les modules ne fournissent pas les même informations, et qu'il se peut que ce type de commande ne renvoie rien. Par exemple, le module //rt2500// n'a pas de champ "version", alors que le module //8139too// en a un. | ||
Il y a cependant des champs standards que tous les modules devraient avoir, comme **author**, **description**, **license**, **parm**, **depends**, et **alias**. | Il y a cependant des champs standards que tous les modules devraient avoir, comme **author**, **description**, **license**, **parm**, **depends**, et **alias**. | ||
- | |||
- | |||
- | |||
==== Chargement/Déchargement d'un module ==== | ==== Chargement/Déchargement d'un module ==== | ||
Ligne 93: | Ligne 77: | ||
$ sudo modprobe -a 3c59x | $ sudo modprobe -a 3c59x | ||
- | === Decharger === | + | === Décharger === |
Pour décharger le module "3c59x" (imaginons que l'interface eth0 soit inutile et que celle-ci soit gérée par "3c59x"...) : | Pour décharger le module "3c59x" (imaginons que l'interface eth0 soit inutile et que celle-ci soit gérée par "3c59x"...) : | ||
Ligne 103: | Ligne 87: | ||
Voir la liste des modules (on peut aussi utiliser l'utilitaire "modconf" - cf plus bas) : | Voir la liste des modules (on peut aussi utiliser l'utilitaire "modconf" - cf plus bas) : | ||
- | modprobe -l | + | lsmod |
+ | |||
A utiliser avec "| grep" !! | A utiliser avec "| grep" !! | ||
\\ | \\ | ||
- | |||
==== Options d'un module ==== | ==== Options d'un module ==== | ||
Ligne 134: | Ligne 117: | ||
options snd_ens1371 joystick_port=1 | options snd_ens1371 joystick_port=1 | ||
- | |||
- | |||
==== Modules au démarrage ==== | ==== Modules au démarrage ==== | ||
- | Il est possible de spécifier des modules à charger au démarrage, même si le périphérique que pilote un module n'a pas été trouvé. | + | Il est possible de spécifier des modules à charger au démarrage, même si le périphérique à piloter par un module n'a pas été trouvé. |
Cela peut être utile pour les périphériques ne permettant pas d'auto-détection, comme les périphériques reliés au port parallèle. | Cela peut être utile pour les périphériques ne permettant pas d'auto-détection, comme les périphériques reliés au port parallèle. | ||
Ligne 156: | Ligne 137: | ||
</file> | </file> | ||
- | |||
<note important> | <note important> | ||
Les modules sont chargés **dans l'ordre dans lequel ils sont listés**. Faites bien attention à cela, car l'ordre peut être important dans certains cas. | Les modules sont chargés **dans l'ordre dans lequel ils sont listés**. Faites bien attention à cela, car l'ordre peut être important dans certains cas. | ||
</note> | </note> | ||
- | |||
==== Empêcher le chargement d'un module ==== | ==== Empêcher le chargement d'un module ==== | ||
Ligne 167: | Ligne 146: | ||
Il peut parfois être utile d'empêcher le noyau de charger un module automatiquement, par exemple si celui-ci pose des problèmes de stabilité. Un module prohibé ne sera pas chargé au démarrage ou au branchement à chaud du périphérique, mais pourra quand-même être chargé à la main, par exemple à l'aide de **modprobe**. | Il peut parfois être utile d'empêcher le noyau de charger un module automatiquement, par exemple si celui-ci pose des problèmes de stabilité. Un module prohibé ne sera pas chargé au démarrage ou au branchement à chaud du périphérique, mais pourra quand-même être chargé à la main, par exemple à l'aide de **modprobe**. | ||
- | La liste des modules que le noyau n'a pas le droit de charger se trouve dans le fichier ''/etc/modprobe.d/blacklist''. | + | La liste des modules que le noyau n'a pas le droit de charger se trouve principalement dans le fichier ''/etc/modprobe.d/blacklist.conf''. |
La structure de ce fichier est simple ; une ligne est construite comme suit : | La structure de ce fichier est simple ; une ligne est construite comme suit : | ||
- | <file> | + | <code> |
- | blacklist module | + | blacklist nom-du-module |
- | </file> | + | </code> |
- | où //module// est le nom du module prohibé. | + | |
- | Pour rajouter un module prohibé, [[tutoriel:comment_editer_un_fichier|éditez le fichier]] ''/etc/modprobe.d/blacklist'' avec les droits administrateur (root), et ajoutez une ligne structurée comme ci-dessus, en fin de fichier par exemple. | ||
- | |||
- | Par exemple, si le module **r818x** vous pose problème, il faut rajouter la ligne suivante au fichier ''/etc/modprobe.d/blacklist'' : | ||
- | <file> | ||
- | blacklist r818x | ||
- | </file> | ||
+ | \\ Pour prohiber un module, [[tutoriel:comment_editer_un_fichier|éditez le fichier]] **/etc/modprobe.d/blacklist.conf** avec les droits administrateur (root), et ajoutez en fin de fichier une ligne structurée comme ci-dessus. | ||
+ | Par exemple, si le module **r818x** vous pose problème, il faut ajouter au fichier /etc/modprobe.d/blacklist.conf la ligne suivante : | ||
+ | <code>blacklist r818x</code> | ||
+ | puis il faut exécuter : | ||
+ | <code>sudo update-initramfs -u -k all</code> | ||
+ | <note tip>Facultatif : pour s'y retrouver plus tard, il est intéressant de préciser la date et le motif | ||
+ | <code># | ||
+ | # suite au problème de... | ||
+ | blacklist r818x # ajout en date du... | ||
+ | #</code> | ||
+ | Tout ce qui est à droite d'un "#" sera ignoré par le système.</note> | ||
==== Lier un module à un périphérique ==== | ==== Lier un module à un périphérique ==== | ||
Ligne 201: | Ligne 184: | ||
===== Utilitaires pour les modules ===== | ===== Utilitaires pour les modules ===== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ==== Modconf ==== | ||
- | |||
- | Modconf est un utilitaire très puissant permettant de voir et de configurer les modules disponibles. | ||
- | |||
- | Pour vous procurer Modconf, il vous suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://modconf|modconf]]** | ||
- | |||
- | Modconf s'utilise en console. Pour le lancer avec les droits administrateur, ce qui est nécessaire pour pouvoir appliquer des changements, lancez : | ||
- | |||
- | $ sudo modconf | ||
- | |||
- | Et vous aurez quelque-chose ressemblant de près à : | ||
- | |||
- | {{:modconf.png}} | ||
- | |||
- | Je vous conseille de mettre la fenêtre en plein-écran pour une meilleure lisibilité. | ||
==== module-assistant ==== | ==== module-assistant ==== | ||
Ligne 241: | Ligne 201: | ||
module-assistant : | module-assistant : | ||
- | Pour installer module-assistant, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://module-assistant|module-assistant]]** | + | Pour installer module-assistant, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>module-assistant|module-assistant]]** |
<code> | <code> | ||
$ sudo module-assistant | $ sudo module-assistant | ||
</code> | </code> | ||
- | |||
- | |||
==== Hardinfo ==== | ==== Hardinfo ==== | ||
- | [[http://hardinfo.berlios.de/HomePage|Hardinfo]] n'est pas vraiment un programme spécifique pour les modules, mais il propose un grand nombres d'informations sur votre ordinateur, dont les modules utilisés par les périphériques. | + | **[[:hardinfo|Hardinfo]]** n'est pas vraiment un programme spécifique pour les modules, mais il propose un grand nombres d'informations sur votre ordinateur, dont les modules utilisés par les périphériques. |
- | Pour vous le procurer, il vous suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://hardinfo]]** | + | Pour vous le procurer, il vous suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>hardinfo]]** |
- | Vous le trouverez ensuite dans **Applications => Outils système => Hardinfo** | + | Vous le trouverez ensuite dans //**Applications -> Outils système -> System Profiler and Benchmark**// |
+ | |||
+ | \\ | ||
+ | {{:hardinfo.png}} | ||
- | Plus d'infos : [[http://macsim.labolinux.net/index.php/post/2007/05/14/90-hardinfo-des-informations-sur-le-hardware-de-votre-puic-puic|ici]] | + | Plus d'infos sur : |
+ | * [[:hardinfo|la page dédiée au logiciel]] | ||
+ | * [[http://hardinfo.berlios.de/|le site officiel]] **(en)** | ||
+ | * [[http://macsim.labolinux.net/index.php/post/2007/05/14/90-hardinfo-des-informations-sur-le-hardware-de-votre-puic-puic|un billet qui présente hardinfo]] | ||
===== Liens ===== | ===== Liens ===== |