Re: Modules Linux Debian
quoi cela sert-il ? A forcer le chargement de modules au dmarrage, plutt que d'avoir du chargement dynamique. Exemples: - lenteur: certains drivers causent des arrts temporaires lors de leur chargement, p.ex. certains pilotes SCSI (chargement du firmware, scan du bus, etc), et en gnral ce qui a faire avec du matriel. - intgrit: charger un driver peut parfois resetter un priphrique (p.ex. charger un pilote SCSI dynamiquement peut rembobiner une cassette). - fonctionnement: certains drivers ne fonctionnent pas correctement s'ils ne peuvent pas allouer une mmoire contigu ``importante'', et cela ne peut se faire que rapidement aprs le dmarrage. p.ex.: driver st (SCSI tape). - scurisation: une machine scurise ne devrait pas tourner kmod et une fois le dmarrage effectu devrait supprimer le chargement de modules via secure-level (ainsi que /dev/kmem, /proc et autres mais cela est une autre histoire). Il reste bien sr toujours la possibilit de recompiler un kernel en mettant en dur ce qu'on veut de toute faon charger, ce que tout le monde ne veut pas/ne peut pas faire (mme si la mthode kernel-package de Debian est assez intressante, cf la doc de ce package et le manuel d'installation Debian, vers la fin). Enfin, il y a un joli petit man (man 5 modules) comme pour tous les fichiers de configuration spcifiques Debian (et les autres). PS: s'il n'y a pas `auto' dans ce fichier ( la fin), normalement Debian ne lancera pas kmod/kerneld immdiatement. S'il y a `noauto' il n'y aura plus de `demand loading'. PS/2: la potato *ne supporte pas* le kernel 2.4 (systme de gestion de modules incompatible). Attendre la prochaine version stable Debian, passer testing ou unstable, ou upgrader certaines parties, cf http://www.fs.tum.de/~bunk/kernel-24.html PS/3: en ce qui concerne la configuration du chargement automatique des modules, elle est un peu diffrente des autres distributions, cf update-modules(8), modules.conf(5), et /etc/modutils/. -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Modules Linux Debian
On Sun, 25 Feb 2001, Marc Mongenet wrote: quoi cela sert-il ? A forcer le chargement de modules au dmarrage, plutt que d'avoir du chargement dynamique. Exemples: - lenteur: certains drivers causent des arrts temporaires lors de leur chargement, p.ex. certains pilotes SCSI (chargement du firmware, scan du bus, etc), et en gnral ce qui a faire avec du matriel. - intgrit: charger un driver peut parfois resetter un priphrique (p.ex. charger un pilote SCSI dynamiquement peut rembobiner une cassette). - fonctionnement: certains drivers ne fonctionnent pas correctement s'ils ne peuvent pas allouer une mmoire contigu ``importante'', et cela ne peut se faire que rapidement aprs le dmarrage. p.ex.: driver st (SCSI tape). - scurisation: une machine scurise ne devrait pas tourner kmod et une fois le dmarrage effectu devrait supprimer le chargement de modules via secure-level (ainsi que /dev/kmem, /proc et autres mais cela est une autre histoire). Il reste bien sr toujours la possibilit de recompiler un kernel en mettant en dur ce qu'on veut de toute faon charger, ce que tout le monde ne veut pas/ne peut pas faire (mme si la mthode kernel-package de Debian est assez intressante, cf la doc de ce package et le manuel d'installation Debian, vers la fin). Enfin, il y a un joli petit man (man 5 modules) comme pour tous les fichiers de configuration spcifiques Debian (et les autres). PS: s'il n'y a pas `auto' dans ce fichier ( la fin), normalement Debian ne lancera pas kmod/kerneld immdiatement. S'il y a `noauto' il n'y aura plus de `demand loading'. PS/2: la potato *ne supporte pas* le kernel 2.4 (systme de gestion de modules incompatible). Attendre la prochaine version stable Debian, passer testing ou unstable, ou upgrader certaines parties, cf http://www.fs.tum.de/~bunk/kernel-24.html PS/3: en ce qui concerne la configuration du chargement automatique des modules, elle est un peu diffrente des autres distributions, cf update-modules(8), modules.conf(5), et /etc/modutils/. -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Modules Linux Debian
Marc SCHAEFER a crit : On Sun, 25 Feb 2001, Marc Mongenet wrote: quoi cela sert-il ? A forcer le chargement de modules au dmarrage, plutt que d'avoir du chargement dynamique. Chargement au dmarrage ou chargement dynamique? ...une question en amene deux autres.. 1)Sur ma machine (pas Debian mais RH7) les modules sont chargs au dmarrage avec /etc/modules.conf. Je sais aussi utiliser modprobe et insmod, mais a c'est la methode manuelle. Il est fait mention ci-dessus d'un chargement dynamique. Par ce terme, je comprends "chargement du module de faon automatique lorsque c'est ncessaire" - est-ce correct? Et dans ce cas, comment procder pour un chargement dynamique? Est-ce kerneld ou kmod qu'il faut lancer au dmarrage? 2) Je n'ai ni kerneld ni kmod ni doc ou manpage concernant ces deux programmes (mais je l'avoue, j'ai pas fouill dans les rpm non installs). En revanche, il y a un fichier /etc/cron.d/kmod contenant: */30 * * * *root/sbin/rmmod -as c'est dire une commande pour dcharger le kernel des modules non utiliss depuis un certain temps, donc typiquement une commande utile dans le cas d'un chargement dynamique. A quoi sert rmmod si les modules ne sont pas chargs dynamiquement? Pierre Maitre __ Dr Pierre-O. Maitre Privat Docent FMH Pharmacologie Clinique FMH Anesthsiologie A la Joy CH-1272 Genolier Switzerland -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Modules Linux Debian
On Sun, 25 Feb 2001, Pierre Maitre wrote: 1)Sur ma machine (pas Debian mais RH7) les modules sont chargs au dmarrage avec /etc/modules.conf. Je sais aussi utiliser modprobe et Marrant. Normalement ce fichier ne dcrit que le lien entre un MAJOR/MINOR dans /dev et un pilote charg dynamiquement. Ou une line-discipline (p.ex. PPP), etc. C'est bien l'accs aux priphriques (via /dev, ifconfig, etc) qui va charger tes modules. Regarde le rsultat de /sbin/lsmod, et si tu as des lignes autoclean bash-2.01# /sbin/lsmod Module PagesUsed by ppp50 (autoclean) slhc 2[ppp] 0 (autoclean) (cela est pour une version 2.0.x, car depuis longtemps je n'utilise plus l'auto-chargement). Donc, si tu n'as que /etc/modules.conf, je penserais assez que ton chargement de modules (genre carte rseau) est automatique (dynamique). insmod, mais a c'est la methode manuelle. Il est fait mention (le chargement dynamique appelle une fonction interne au kernel qui appelle une tche particulire, qui ds 2.2.x s'appelle kmod et n'est pas un programme externe au contraire de 2.0.x et son kerneld; qui appelle /sbin/modprobe avec les arguments de /etc/modules.conf, ce qui appelle /sbin/insmod en fonction des dpendances dans /lib/modules/VERSION/modules.dep; soit dit en passant c'est un system() donc tu peux ajouter un ';' dans /etc/modules.conf et excuter d'autres programmes --- trou de scurit mais qui peut tre utile, personnellement en 2.0.x je configurais la compression de mon tape drive ainsi). "chargement du module de faon automatique lorsque c'est ncessaire" - oui. dynamique? Est-ce kerneld ou kmod qu'il faut lancer au dmarrage? 2.0.x faut lancer kerneld 2.2.x kmod est automatiquement lanc par le kernel si configur la compilation de celui-ci. La Debian fait ainsi pour fonctionner en 2.0.x et 2.2.x: si /proc/sys/kernel/modprobe existe, c'est kmod, donc ne pas dmarrer kerneld. kerneld ne dmarre que si auto est dans /etc/modules Personnellement je n'ai plus jamais compil kmod dans le kernel depuis longtemps. Le chargement de modules est trs pratique. Le chargement automatique n'est souvent pas ncessaire. A quoi sert rmmod si les modules ne sont pas chargs dynamiquement? rmmod permet d'enlever un kernel module insr par insmod que cela soit manuellement, ou la demande par kerneld/kmod. Le mettre dans une crontab permet d'muler, en 2.2.x, l'ancien fonctionnement: en 2.0.x, c'tait kerneld, un processus utilisateur, qui faisait le dchargement automatique lorsqu'un module voyait son usage-count tomber zro et qu'il avait t charg la demande et non manuellement. L'option -as: -a Remove all unused autocleanable modules. -s Output everything to syslog(3) instead of the ter minal. je pense que c'est suffisamment clair :) Au fait, le kernel sait si un module a t charg manuellement ou la demande pas par magie, c'est le programme de chargement la demande (kmod, kerneld) qui met le bit considr: -k Set the auto-clean flag on the module. This flag will be used by kerneld(8) to remove modules that have not been used in some period of time -- usu ally one minute. Tu peux donc manuellement insr un module, spcifier l'option k, et il sera supprim automatiquement par kerneld ou cron. -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Modules Linux Debian
On Sun, Feb 25, 2001 at 09:44:30AM +0100, Marc SCHAEFER wrote: - scurisation: une machine scurise ne devrait pas tourner kmod et une fois le dmarrage effectu devrait supprimer le chargement de modules via secure-level (ainsi que /dev/kmem, /proc et autres mais cela est une autre histoire). Malheureusement ceci n'est pas disponible en standard dans le kernel mais il existe un patch sur http://www.openwall.org -- Francois Deppierraz [EMAIL PROTECTED] Nimag Networks Srl - www.nimag.net Phone +41 21 847 00 75 - Fax +41 21 847 00 77 PGP Key ID: 9D283BC9 -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Modules Linux Debian
Marc SCHAEFER a crit : On Sun, 25 Feb 2001, Pierre Maitre wrote: 1)Sur ma machine (pas Debian mais RH7) les modules sont chargs au dmarrage avec /etc/modules.conf. Marrant. Normalement ce fichier ne dcrit que le lien entre un MAJOR/MINOR dans /dev et un pilote charg dynamiquement. Juste, chez moi aussi /etc/modules.conf ne gnre aucune action. Ce n'est qu'une liste de liens et d'options (le chargement dynamique appelle une fonction interne au kernel qui appelle une tche particulire, qui ds 2.2.x s'appelle kmod et n'est pas un programme externe Ah! voil! Maintenant je comprends pourquoi je ne trouvais pas de tche kmod en faisant un "ps -ef |grep kmod" je pense que c'est suffisamment clair :) Parfaitement expliqu. Merci beaucoup pour cette petite leon Unix du dimanche aprs midi. Pierre Maitre __ Dr Pierre-O. Maitre Privat Docent FMH Pharmacologie Clinique FMH Anesthsiologie A la Joy CH-1272 Genolier Switzerland -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Modules Linux Debian
On Sun, 25 Feb 2001, Pierre Maitre wrote: Ah! voil! Maintenant je comprends pourquoi je ne trouvais pas de tche kmod en faisant un "ps -ef |grep kmod" Je suis all vrifier (Use The Source, Luke), dans linux-2.2.18/kernel/kmod.c en bref: on utilise kernel_thread() pour crer une nouvelle tche (un processus), auquel on donne les attributs clons du processus init user-space (pas ceux du programme user-space qui a demand ce module). En clair ce n'est mme plus un daemon, mais une tche similaire init instancie chaque modprobe et qui fait simplement un exec(). C'est d'ailleurs un exemple intressant qui aurait pu m'tre utile quand j'ai conu mfs (je l'ai fait l'envers: un processus en user space qui appelle et bloque sur ioctl()). Faut pas hsiter regarder dans la source, mme si on a une connaissance limite du C ou du kernel Linux, c'est souvent trs instructif. -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Modules Linux Debian
Marc SCHAEFER wrote: Faut pas hsiter regarder dans la source, mme si on a une connaissance limite du C ou du kernel Linux, c'est souvent trs instructif. Un autre source, si on aime la posie et les DVD... http://www.cs.cmu.edu/~dst/DeCSS/Gallery/decss-haiku.txt :-) Marc Mongenet -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Modules Linux Debian
Marc SCHAEFER wrote: PS: s'il n'y a pas `auto' dans ce fichier ( la fin), normalement Debian ne lancera pas kmod/kerneld immdiatement. S'il y a `noauto' il n'y aura plus de `demand loading'. Je n'ai pas tout fait compris le sens de ce "auto", il me semble obsolte. En effet, kmod tant dans le noyau, il est toujours "lanc". Et kerneld est lanc par les scripts de dmarrage si kmod n'existe pas, (enfin je suppose que c'est le sens de "test -f /proc/sys/kernel/modprobe") sauf s'il y a un "noauto" dans "/etc/modules". Le "noauto" semble aussi inoprant avec kmod, non ? Marc Mongenet -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.