kerneld
sait-il quel module charger ? Bien que kerneld
connaisse d�j� les types les plus
communs de modules, il y a des situations dans lesquelles
kerneld
ne sera pas comment satisfaire une requ�te
venant du noyau. C'est le cas avec les pilotes de CD-ROM ou de
cartes r�seau, o� il existe plus d'un module possible
susceptible d'�tre charg�.
Les requ�tes que le d�mon de kerneld
re�oit du
noyau viennent d'un des �l�ments suivants :
kerneld
d�termine quel module doit �tre charg�
regardant le fichier de configuration
/etc/conf.modules
. Il y a deux types d'entr�e dans ce
fichier : les chemins (o� les fichiers des modules sont stock�s)
et les alias (quel module doit �tre charg�). Si vous n'avez pas
d�j� ce fichier, vous devrez le cr�er en lan�ant
/sbin/modprobe -c | grep -v '^path'>
/etc/conf.modules
Si vous voulez ajouter encore une autre directive ``path''
aux chemins par d�faut, vous devez inclure aussi tous les chemins
par d�faut �tant donn� qu'une directive path
dans
/etc/conf.modules
remplacera toutes celles que
modprobe
conna�t par d�faut.
Normalement, vous ne voudrez pas ajouter de path
par vous-m�me �tant donn� que l'ensemble des chemins par d�faut
prend en compte toutes les configurations normales, je vous le
promets !
D'un autre c�t�, si vous voulez juste ajouter un alias ou
une directive d'option, vos nouvelles entr�es dans
/etc/conf.modules
seront ajout�es � celles que
modprobe
conna�t d�j�. Si vous deviez red�finir un
alias ou une option, vos nouvelles entr�es dans
/etc/conf.modules
remplaceront celles d�j� pr�sentes.
Si vous lancez /sbin/modprobe -c
, vous aurez la
liste des modules connus par kerneld
et � quelles
requ�tes ils correspondent. Par exemple, la requ�te qui termine
le chargement du gestionnaire de disquettes correspond au
p�riph�rique bloc dont le num�ro majeur est 2 :
osiris:~ $ /sbin/modprobe -c | grep floppy alias block-major-2 floppy
Pourquoi block-major-2
? Parce que les lecteurs de
disquettes /dev/fd*
utilisent un num�ro majeur �gal
� 2 et sont de type bloc :
osiris:~ $ ls -l /dev/fd0 /dev/fd1 brw-rw-rw- 1 root root 2, 0 Mar 3 1995 /dev/fd0 brw-r--r-- 1 root root 2, 1 Mar 3 1995 /dev/fd1
Les p�riph�riques de type caract�re sont utilis�s de la m�me mani�re. Par exemple, le lecteur de bande correspond au num�ro majeur 27 :
osiris:~ $ ls -lL /dev/ftape crw-rw---- 1 root disk 27, 0 Jul 18 1994 /dev/ftape
Toutefois, kerneld
ne le conna�t pas par d�faut : il
n'est pas list� dans le r�sultat de /sbin/modprobe -c
.
Donc, pour configurer kerneld
de mani�re � charger
le gestionnaire ftape
, je dois ajouter une ligne au
fichier de configuration /etc/conf.modules
:
alias char-major-27 ftape
Vous pouvez aussi utiliser le nom du p�riph�rique � la place
de char-major-xxx
ou block-major-yyy
. Ceci est
particuli�rement utilis� pour les gestionnaires r�seaux. Par
exemple, un pilote pour une carte r�seau ne2000 utilis�e comme
eth0
pourrait �tre charg� avec :
alias eth0 ne
Si vous devez passer des options au gestionnaire (comme de
dire au module quelle IRQ la carte r�seau utilise), vous ajoutez
une ligne options
:
options ne irq=5
Ainsi kerneld
lancera le gestionnaire
NE2000 avec la commande :
/sbin/modprobe ne irq=5
Bien s�r, les options disponibles sont sp�cifiques aux modules que vous chargez.
Les formats binaires sont g�r�s de la m�me fa�on. A chaque
fois que vous essayez de lancer un programme que le noyau ne
sait pas comment ex�cuter, kerneld
lance une requ�te
pour binfmt-xxx
, ou xxx
est le nombre
d�termin� � partir des tous premiers octets de l'ex�cutable.
Donc la configuration de kerneld
pour la gestion du
chargement du module binfmt_aout pour les ex�cutable ZMAGIC
(a.out) est :
alias binfmt-267 binfmt_aoutvu que le nombre magique pour les fichiers ZMAGIC est 267 (voir
/etc/magic
). Si vous regardez /etc/magic
,
vous verrez le nombre 0413, ceci parce que ce fichier utilise des
nombres octaux alors que kerneld
utilise des d�cimaux ( 413
en octal correspond � 267 en d�cimal ). Il y a en r�alit� trois
variantes des ex�cutables a.out peu diff�rentes (NMAGIC,
QMAGIC et ZMAGIC). Pour un support total du format a.out, vous
devez avoir :
alias binfmt-264 binfmt_aout # pure executable (NMAGIC) alias binfmt-267 binfmt_aout # demand-paged executable (ZMAGIC) alias binfmt-204 binfmt_aout # demand-paged executable (QMAGIC)
Les formats binaires a.out, Jave et iBCS sont reconnus
automatiquement par kerneld
sans la moindre configuration.
Les disciplines de lignes sont demand�es avec
tyy-ldisc-x o� x est g�n�ralement 1 (pour
SLIP) ou 3 (pour PPP). Ces deux sont reconnus automatiquement
par kerneld
.
Concernant PPP, si vous voulez que kerneld
charge le
module de compression de donn�es pour PPP bsd_comp
, vous
devez ajouter les deux lignes suivantes au fichier
/etc/conf.modules
:
alias tty-ldisc-3 bsd_comp alias ppp0 bsd_comp
Certains protocoles r�seau peuvent �tre aussi charg�s sous
la forme de modules. Le noyau demande � kerneld
une
famille de protocole (par exemple IPX) avec une requ�te pour
net-pf-X o� X est un nombre indiquant la
famille voulue. Par exemple, netpf-3 correspond �
AX.25, net-pf-4 � IPX et net-pf-5 � AppleTalk.
(Ces nombres sont d�termin�s par les macros AF_AX25
,
AF_IPX
etc., que l'on trouve dans le fichier source
include/linux/socket.h
. Donc, pour charger
automatiquement le module IPX, vous devrez ajouter une entr�e
dans /etc/conf.modules
:
alias net-pf-4 ipx
Consultez �galement la section traitant des probl�mes courants pour �viter des messages d'avertissment lors de l'amor�age relatifs � des familles de protocoles ind�finies.
Les requ�tes soumises � kerneld
pour les syst�mes de
fichiers sont simplement constitu�es par le type du syst�me de
fichiers. Un usage courant est de charger le module
isofs pour les syst�mes de fichiers des CD-ROM,
c'est-�-dire les syst�mes de fichiers de type iso9660 :
alias iso9660 isofs
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:15