|
このページは大阪弁化フィルタによって翻訳生成されたんですわ。 |
modprobe ou insmod.
Des aspects plus amusants, bien que ceux-ci ne soient pas (encore ?) int馮r駸 dans le noyau standard :
Ces deux parties doivent fonctionner pour que kerneld
soit op駻ationnel. Le fait qu'une des deux soit initialis馥 ne
suffit pas.
Il y a de bonnes raisons pour utiliser kerneld. Voici
les miennes. D'autres peuvent l'utiliser pour d'autres raisons.
kerneld.
Pour les utilisateurs fran軋is, il vaut mieux utiliser le miroir francais ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0/modules-2.0.0.tar.gz
Pour les utilisateurs fran軋is : ftp://ftp.lip6.fr/pub2/linux/kernel/sources/v2.0/modules-2.0.0.tar.gz
AVERTISSEMENT : si vous voulez essayer de charger des
modules avec les derniers noyaux 2.1 (d騅eloppement), vous
devrez utiliser le dernier paquetage modutils- (PAS
modules-).
Mais regardez plus bas au sujet des probl鑪es avec les modules
et les noyaux 2.1.
D'abord, ayez les parties n馗essaires : un noyau et les
derniers modules-utilities. Ensuite, vous devez
installer les modules-utilities. C'est tr鑚 simple : il
faut juste d駸empaqueter les sources et lancer make
install. Ceci compile et installe les programmes suivants
dans /sbin : genkym, insmod,
lsmod, modprobe, depmod,
kerneld. Je recommande que vous ajoutiez quelques
lignes dans les scripts de d駑arrage pour faire les
initialisations n馗essaires lors du d駑arrage de Linux. Ajoutez
# Demarrer kerneld - ceci doit arriver tres tot dans le
# processus de demarrage, certainement AVANT que vous lanciez
# fsck sur les syst鑪es de fichiers qui ont besoins que les
# pilotes de disque soient charg駸 automatiquement
if [ -x /sbin/kerneld ]
then
NOTE : Les versions r馗entes de kerneld ont une
option pour utiliser la librairie GNU dbm : libgdbm. Si
vous l'activez quand vous construisez les
modules-utilities, kerneld ne se lancera pas
si lidgdbm n'est pas disponible, ce qui pourrait 黎re
le cas si vous avez /usr sur une partition s駱ar馥 et
que vous lanciez kerneldavant que /usr ne soit
mont馥. La solution recommand馥 est de d駱lacer libgdm
Ceci est aussi n馗essaire. Ensuite, de nombreuses choses peuvent
黎re mises sous forme de modules. Vous verrez des questions du
genre :
Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?]
Quand vous avez fini avec make config, lancez make
dep, make clean, make zImage ou make
modules, make modules et make
modules_install.
Ouf !
syst鑪e est pr黎, vous pouvez ex馗uter unps ax et vous
devriez voir une ligne pour kerneld :
PID TTY STAT TIME COMMAND
59 ? S 0:01 /sbin/kerneld
Une des choses int駻essantes de kerneld est qu'une fois
le noyau et le d駑on install駸, seule une tr鑚 petite initialisation
est n馗essaire. Pour commencer, essayez d'utiliser un des
pilotes que vous avez construit comme module. J'ai construit le
pilote de disquette comme module, donc je peux mettre une
disquette DOS dans le lecteur et :
osiris:~ $ mdir a:
Volume in drive A has no label
Volume Serial Number is 2E2B-1102
Directory for A:/
binuti~1 gz 1942 02-14-1996 11:35a binutils-2.6.0.6-2.6.0.7.diff.gz
Les p駻iph駻iques de type caract鑽e sont utilis駸 de la m麥e mani鑽e. Par exemple, le lecteur de bande correspond au num駻o majeur 27 :
osiris:~ $ ls -lL /dev/ftape
crw-rw---- 1 root disk 27, 0 Jul 18 1994 /dev/ftape
Si vous devez passer des options au gestionnaire (comme de
dire au module quelle IRQ la carte r駸eau 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?, les options disponibles sont sp馗ifiques aux modules que vous chargez.
Les formats binaires sont g駻駸 de la m麥e fa輟n. A chaque
fois que vous essayez de lancer un programme que le noyau ne
sait pas comment ex馗uter, kerneld lance une requ黎e
pour binfmt-xxx, ou xxx est le nombre
vu 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
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馥s avec
devez ajouter les deux lignes suivantes au fichier
/etc/conf.modules :
alias tty-ldisc-3 bsd_comp
alias ppp0 bsd_comp
include/linux/socket.h. Donc, pour charger
automatiquement le module IPX, vous devrez ajouter une entr馥
dans /etc/conf.modules :
alias net-pf-4 ipx
Consultez 馮alement la section traitant des probl鑪es
Certains p駻iph駻iques demandent un peu plus de configuration que le simple alias d'un p駻iph駻ique et d'un module.
Les p駻iph駻iques sont habituellement identifi駸 par leur
nombre majeur, par exemple 27 pour ftape. Toutefois, si
vous regardez les entr馥s de /dev pour le nombre majeur
10, vous verrez un certain nombre de p駻iph駻iques tr鑚
diff駻ents. Parmi ceux-ci :
De fa輟n 騅idente, ces p駻iph駻iques sont contr?駸 par
diff駻ents modules et non un seul. Pour cela, kerneld
utilise le nombre majeur et le nombre mineur :
alias char-major-10-1 psaux # For PS/2 mouse
kerneld de savoir quel module il fallait charger.
9.2 Charger les gestionnaires SCSI : l'entr馥
scsi_hostadapter
Les gestionnaires de p駻iph駻iques SCSI sont constitu駸 d'un
adaptateur pour la carte SCSI (par exemple pour une Adaptec
1542) et d'un gestionnaire pour le type de p駻iph駻ique SCSI que
vous utilisez, comme un disque dur, un lecteur de CD-ROM ou un
lecteur de cartouche. Tous peuvent 黎re charg駸 sous forme de
toutes les possibilit駸 :
alias scd0 sr_mod # sr_mod pour SCSI CD-ROM's ...
alias scsi_hostadapter aha1542 # ... doit utiliser le pilote
# Adaptec 1542
Cela ne fonctionne que pour un noyau de version 1.3.82 ou
sup駻ieure.
Cela marche si vous n'avez qu'une carte SCSI, sinon, c'est un
peu plus difficile. En g駭駻al, vous ne pouvez pas avoir
kerneld qui charge le pilote d'une carte SCSI si le
pour tous les p駻iph駻ique de mon second contr?eur SCSI,
incluant lecteurs de cartouche, CD-ROM et des p駻iph駻iques SCSI
g駭駻iques. L'inconv駭iant est que depmod -a ne peut
pas d騁ecter ces d駱endances. Donc, l'utilisateur doit les
si vous avez diff駻ents types de p駻iph駻iques sur deux
contr?eurs. Par exemple les disques durs sur un contr?eur et
les lecteurs de CD-ROM, de cartouches et les p駻iph駻iques
g駭駻iques sur l'autres.
le r馮ler pour un certain volume sonore. Le seul probl鑪e, c'est
que cette initialisation dispara? lors du chargement suivant du
module. Voici un truc de Ben Galliart
bgailla@luc.edu :
Il faut installer le paquetage setmix-0.1 (
ftp://sunsite.unc.edu/pub/Linux/apps/sound/mixers/setmix-0.1.tar.gz)
et ensuite ajouter les lignes suivantes au fichier
/etc/conf.modules :
post-install sound /usr/local/bin/setmix -f /etc/volume.conf
Ainsi kerneld ex馗ute la commande indiqu馥
par l'entr馥 post-install sound apr鑚 que le module son
post-install lp tunelp <options>
Pour que kerneldreconnaisse ces options, vous devez
avoir une version 1.3.69 de kerneld ou sup駻ieure.
Note : une version pr馗馘ente de ce mini-HOWTO mentionne une cd /usr/src/modules-2.0.0/kerneld make kdstat
Ensuite, pour que kerneld affiche les informations
sur ce qu'il est en train de faire, il faut lancer :
kdstat debug
Je savais bien que vous me demanderiez comment configurer le module d'馗onomiseur d'馗ran...
Le r駱ertoire kerneld/GOODIES dans le paquetage
modules a un certain nombre de patches noyau pour
la gestion de l'馗onomiseur d'馗ran ainsi que le beep de la
console par kerneld. Ils ne font pas partie du noyau
officiel. Vous devrez donc installer les patches noyau et le
recompiler.
Pour installer un patch, utilisez la commande ``patch'' :
cd /usr/src/linux
patch -s -p1 </usr/src/modules-2.0.0/kerneld/GOODIES/blanker_patch
Ensuite recompilez et installez le nouveau noyau.
Quand il sera temps de lancer l'馗onomiseur d'馗ran,
kerneld ex馗utera la commande
/sbin/screenblanker (il peut s'agir d'un script shell qui
lance votre 馗onomiseur d'馗ran favorixt.
Quand le noyau veut l'arr黎er, il envoie un signal
SIGQUIT au processus ex馗utant
/sbin/screenblanker. Votre script shell ou 馗onomiseur
Malheureusement, ifconfig envoie ces messages, donc
un bon nombre de personnes recoivent ces messages lors le
syst鑪e se lance et qu'il ex馗ute ifconfig pour
initialiser le p駻iph駻ique loopback. Ces messages sont
sans danger et vous pouvez les retirer en ajoutant les lignes
suivantes :
alias net-pf-3 off # oubliez AX.25
alias net-pf-4 off # oubliez IPX
aliad net-pf-5 off # oubliez AppleTalk
au fichier /etc/conf.modules. Biens?, si vous utilisez
IPX comme module, n'ajoutez pas la ligne qui retire IPX.
kerneld, mon syst鑪e ralentit
quand j'active ma connexion PPP ifconfig.
Celui-ci d馗lenche kerneld pour rechercher les modules
net-pf-X (voir ci-dessous), ce qui provoque une
surcharge du syst鑪e et l'envoi possible de messages ``Cannot
locate module for net-pf-X''. Il n'y a pas d'autres
solutions que de ne pas utiliser tkPPP ou de changer sa
fa輟n de surveiller la connexion.
kerneldne charge pas mon gestionnaire SCSI
Ajoutez une entr馥 pour la carte SCSI au fichier
/etc/conf.modules. Regardez la description de l'entr馥
scsi_hostadapter plus haut.
modprobe se plaint que gcc2_compiled
n'est pas d馭ini Si cela se produit quand la charge est faible, essayez de
red駑arrer kerneld. Tuez le processus
kerneld et red駑arrez-le avec la commande
/usr/sbin/kerneld. Si le probl鑪e persiste, vous
mount n'attend pas que kerneld charge
le module du syst鑪e de fichier Il existe un certain nombre de messages sur le fait que la ncpfs
Vous devez compiler les utilitaires ncpfs avec
l'option -DHAVE_KERNELD. Voir le fichier
Makefile de ncpfs.
kerneldne se lance pas lors de l'amor軋ge de la
machine : il veut libgdbm Les nouvelles versions de kerneld ont besoin de la
librairie GNU dbm, libgdbm.so pour fonctionner. La
La solution la plus simple est d'effacer le r駱ertoire
/lib/modules/x.y.z et de retaper make
modules_install depuis le r駱ertoire des sources du noyau.
Notez que ce probl鑪e arrive seulement quand vous reconfigurez le
ftp://ftp.redhat.com/pub/alphabits/ ou sur le site
mirroir
ftp://tsx-11.mit.edu/pub/linux/packages/alphabits/