|
|||||||
|
|
INSMODSection: Manuel de l'administrateur Linux (8)Updated: 30 juillet 2003 Index Return to Main Contents NOMinsmod - Charge des modules dans le noyau.SYNOPSISinsmod [-fhkLmnpqrsSvVxXyYN] [-e persist_name] [-o module_name] [-O blob_name] [-P prefix] module [ symbol=value ... ]DESCRIPTIONinsmod charge un module dans le noyau en cours d'utilisation.insmod essaie de lier un module dans le noyau en cours d'exécution en résolvant les noms de symboles à partir de la table des symboles exportés par le noyau. Si le nom du fichier objet est donné sans répertoire et sans extension, insmod cherchera le module dans quelques répertoires par défaut. La variable d'environnement MODPATH peut surcharger ces répertoires par défaut. Si un fichier de configuration comme /etc/modules.conf existe, il surchargera les chemins indiqués dans MODPATH. La variable d'environnement MODULECONF peut sélectionner un fichier de configuration différent de /etc/modules.conf (ou /etc/conf.modules (à éviter)). Cette variable d'environnement prévaudra sur toutes les définitions précédentes. Quand la variable d'environnement UNAME_MACHINE est remplie, modutils l'utilisera à la place du champ "machine" de l'appel-système uname(). Ceci est surtout utile si vous compilez des modules 64 bits dans un espace utilisateur 32 bits ou inversement ; remplissez UNAME_MACHINE avec le type de modules construits. La version actuelle de modutils ne supporte pas la construction croisée complète de modules, elle est limitée au choix entre 32 et 64 bits de l'architecture hôte. OPTIONS
PARAMÈTRES DES MODULESDes modules acceptent des paramètres au chargement pour adapter leur action. Ces paramètres sont souvent des ports E/S et des numéros d'IRQ variant d'une machine à l'autre et ne peuvent être déterminés à partir du matériel.Dans les modules pour les noyau 2.0, tout symbole d'entier ou de pointeur caractère peut être manipulé comme un paramètre et être modifié. Depuis les noyaux 2.1, les symboles sont explicitement marqués comme des paramètres, afin que seules des données spécifiques soient modifiables. De plus le type est indiqué pour vérifier la valeur fournie au chargement. Pour les entiers, les valeurs peuvent être en base 10, 8 ou 16, comme en C : 17, O21 ou Ox11. Les éléments de tableau sont fournis en séquence, séparés par des virgules. Des éléments peuvent être `sautés' en omettant leur valeur.
Dans les modules 2.0, les valeurs ne débutant pas par un nombre sont considérées
comme des chaînes. Depuis les 2.1, l'information sur le type de paramètre indique
si la valeur doit être considérée comme une chaîne. Si la valeur commence par
un guillemet
SYMBOLES ET MODULES SOUS LICENCE GPLDepuis le noyau 2.4.10, les modules doivent avoir une chaîne indiquant leur licence, définie par MODULE_LICENSE(). Plusieurs chaînes sont reconnues comme étant compatibles GPL, tout autre chaîne de licence ou l'absence de licence est considérée comme propriétaire. Voir include/linux/module.h pour une liste des chaînes compatibles GPL.Si le noyau supporte l'attribut /proc/sys/kernel/tainted, alors insmod fera un OU entre l'attribut et '1' au chargement d'un module sans licence GPL. Un avertissement sera affiché si le noyau supporte le mode taché (tainted) et qu'on charge un module sans licence. Un avertissement est fourni pour tout module ayant MODULE_LICENSE() non compatible GPL, même sur les noyaux anciens ne supportant pas l'entachement. Ceci limite les avertissements quand les modutils récents sont utilisés sur des noyaux anciens. Le mode insmod -f (force) fera un OU entre l'attribut tainted et '2' sur les noyaux supportant l'entachment. Ceci déclenche toujours un avertissement. Certains développeurs du noyau réclament que les symboles exportés par leur code ne soit utilisés que dans des modules avec une licence compatible GPL. Ces symboles sont exportés avec EXPORT_SYMBOL_GPL plutôt qu'avec le normal EXPORT_SYMBOL. Les symboles GPL-seulement exportés par le noyau et d'autres modules ne sont visibles que des modules ayant une licence compatible GPL. Ils apparaissent dans /proc/ksyms avec le préfixe 'GPLONLY_'. insmod ignore le préfixe GPLONLY_ des symboles en chargeant un module avec une licence compatible GPL, afin que le module fasse référence au nom du symbole sans le préfixe. Les symboles GPL-seulement ne sont pas rendus disponibles aux modules sans licence compatible GPL, ou sans licence indiquée. AIDE KSYMOOPSPour aider au débogage des problèmes du noyau avec des modules, insmod ajoute par défaut des symboles dans ksyms, voir l'option -Y. Ces symboles débutent avec __insmod_modulename_. Le modulename est nécessaire pour rendre les symboles uniques, il est possible de charger le même objet plusieurs fois sous différents noms de modules. Actuellement les commandes définies sont :
L'autre problème avec le débogage des problèmes du noyau dans les modules est que le contenu de /proc/ksyms et /proc/modules peut changer entre l'instant du Oops et le moment où vous analysez le fichier journal. Pour pallier ce problème, si le répertoire /var/log/ksymoops existe alors insmod et rmmod copieront automatiquement /proc/ksyms et /proc/modules dans /var/log/ksymoops avec le préfixe `date +%Y%m%d%H%M%S`. L'administrateur système peut indiquer à ksymoops quel fichier employer pour déboguer un Oops. Il n'y a pas d'option pour désactiver cette copie automatique, si vous ne voulez pas qu'elle se produise, il ne faut pas créer de répertoire /var/log/ksymoops. Si le répertoire existe, il doit appartenir à root, avoir le mode 644 ou 600 et vous devriez lancer chaque jour le script suivant, installé comme insmod_clean_ksymoops.
#!/bin/sh
# Supprime la sauvegarde de ksyms et des modules sans accès depuis 2 jours
if [ -d /var/log/ksymoops ]
then
set -e
# S'assurer qu'il y en a toujours au moins une version
d=`date +%Y%m%d%H%M%S`
cp -a /proc/ksyms /var/log/ksymoops/${d}.ksyms
cp -a /proc/modules /var/log/ksymoops/${d}.modules
find /var/log/ksymoops -type f -atime +2 -exec rm {} \;
fi
VOIR AUSSIrmmod(8), modprobe(8), depmod(8), lsmod(8), ksyms(8), modules(2), genksyms(8), kerneld(8), ksymoops(noyau).HISTORIQUELe support des modules a été conçu par Illustre AnonymeLa version initiale pour Linux a été faite par Bas Laarhoven <bas@vimec.nl> La version 0.99.14 a été faite par Jon Tombs <jon@gtex02.us.es> Complétée par Bjorn Ekwall <bj0rn@blox.se> Aide ELF originelle de Eric Youngdale <eric@aib.com> Réécrite pour 2.1.17 par Richard Henderson <rth@tamu.edu> Complétée par Bjorn Ekwall <bj0rn@blox.se> pour modutils-2.2.*, Mars 1999 Support pour ksymoops par Keith Owens <kaos@ocs.com.au>, Mai 1999 Mainteneur actuel : Keith Owens <kaos@ocs.com.au>. TRADUCTIONJérome Signouret, 2000.Christophe Blaess, 2003.
Index | ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man8". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |