Re: Modules Linux Debian

2001-02-28 Par sujet Marc SCHAEFER

  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

2001-02-25 Par sujet Marc SCHAEFER

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

2001-02-25 Par sujet Pierre Maitre

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

2001-02-25 Par sujet Marc SCHAEFER

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

2001-02-25 Par sujet Francois Deppierraz

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

2001-02-25 Par sujet Pierre Maitre

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

2001-02-25 Par sujet Marc SCHAEFER

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

2001-02-25 Par sujet Marc Mongenet

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

2001-02-25 Par sujet Marc Mongenet

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.