Page suivantePage pr�c�denteTable des mati�res

7. Quelques pi�ges

7.1 make clean

Si votre noyau a un comportement surnaturel (�a m'est arriv� !), il y a des chances pour que vous ayez oubli� de faire un "make clean". Les sympt�mes peuvent �tre un plantage de votre syst�me, des probl�mes d'entr�es-sorties �tranges, une chute des performances, des reboot al�atoires... V�rifiez que vous avez �galement fait un make dep.

7.2 Noyaux �normes ou lents

Si votre noyau consomme beaucoup de m�moire, ou s'il est r�ellement gros, ou bien s'il faut une �ternit� pour le compiler m�me lorsque vous utilisez votre nouveau 986DX6/440, c'est que vous avez configur� un tas de choses (pilotes de p�riph�riques, syst�mes de fichiers) dont vous n'avez pas besoin. Si vous ne les utilisez pas, ne les configurez pas car cela prend beaucoup de place en m�moire. Le sympt�me le plus visible est l'augmentation sensible du fonctionnement du swap. Si votre disque fait beaucoup de bruit, et qu'il ne s'agit pas d'un de ces vieux disques Fujitsu Eagles qui font le bruit d'un avion lors de son atterrissage lorsque vous l'�teignez, jetez un coup d'oeil � votre configuration.

Vous pouvez calculer la taille m�moire que le noyau utilise en prenant la m�moire totale de votre machine et en soustrayant la valeur de la m�moire totale ("total mem") dans /proc/meminfo ou bien avec la commande "free".

7.3 Le port parall�le ne fonctionne pas/mon imprimante ne fonctionne pas

Les options de configuration pour les PC sont : premi�rement, dans la cat�gorie "General Setup" s�lectionnez "Parallel port support" et "PC-style hardware". Puis dans "Character devices", s�lectionnez "Parallel printer support".

Il y a ensuite le probl�me des noms de p�riph�rique des imprimantes qui ont chang� dans Linux 2.2. Si vous aviez une imprimante lp1 avec votre noyau pr�c�dent, elle s'appelle probablement lp0 maintenant. Utilisez "dmesg" ou cherchez dans les logs dans /var/log pour le v�rifier.

7.4 Le noyau ne compile pas

Si cela ne compile pas, alors un patch a probablement �chou�, ou bien vous poss�dez des sources corrompus. Votre version de gcc peut �galement ne pas �tre correcte, ou bien endommag�e (par exemple les fichiers d'include peuvent �tre faux). Soyez s�r que les liens que Linus d�crit dans le fichier README sont corrects. En g�n�ral, si un noyau standard ne compile pas, c'est qu'un truc ne tourne pas rond dans le syst�me, et il est plus que probable que certains outils doivent �tre reinstall�s.

Dans des cas relativement rares, gcc peut �chouer en raison de probl�mes de mat�riel. Le message d'erreur ressemble � un truc assez myst�rieux "xxx exited with signal 15". Je n'en n'aurais probablement pas parl� si cela ne m'�tait arriv� une fois. J'avais un cache m�moire d�fectueux et le compilateur fonctionnait de mani�re plut�t al�atoire. Essayez dans un premier temps de reinstaller gcc si vous avez des probl�mes. Si votre noyau compile tr�s bien avec les caches externes vid�s ou une m�moire r�duite, alors vous pourrez commencer � soup�onner votre mat�riel.

Certaines personnes ont tendance � ne pas aimer que je mette en doute leur mat�riel. Je n'invente rien. Il existe une FAQ d�di�e � ce sujet : http://www.bitwizard.nl/sig11/ (NdT : traduite en fran�ais � http://www.linux-france.org/article/sig11-fr/sig11-fr.html).

7.5 La nouvelle version du noyau ne boote plus !

Soit LILO ne fonctionne pas, soit il n'est pas configur� correctement. Une fois, un probl�me dans le fichier de configuration m'a pos� pas mal de soucis : j'avais mis "boot = /dev/hda1" � la place de "boot = /dev/hda" (ce genre d'erreurs n'est pas facile � trouver, mais une fois que vous avez un fichier de configuration qui fonctionne, il n'y a pas de raison d'y toucher).

7.6 Vous avez oubli� de lancer LILO, ou le syst�me ne boote plus du tout

Argh ! La meilleure chose � faire est de booter � partir d'une disquette et de pr�parer une nouvelle disquette de boot ("make zdisk" fait cela tr�s bien). Vous avez besoin de savoir o� votre partition racine (/) se trouve et quel est son type (ext2fs, minix, etc). Dans l'exemple ci-dessous, vous aurez �galement besoin de conna�tre la partition des sources du noyau (/usr/src/linux), et o� elle est mont�e.

Dans cet exemple,la racine / est /dev/hda1, la partition qui supporte /usr/src/linux est /dev/hda3, normalement mont�e sur /usr. Toutes les deux ont un syst�me de fichiers de type ext2fs. L'image du noyau se trouve dans /usr/src/linux/arch/i386/boot/ et elle s'appelle bzImage.

L'id�e est que s'il existe un noyau bzImage qui fonctionne il est possible de l'utiliser pour la nouvelle disquette. Une autre possibilit� qui peut �tre meilleure ou pas est pr�sent�e apr�s cet exemple (cela d�pend de la fa�on dont vous avez plant� votre syst�me).

Commencez par booter � partir d'une disquette d'installation (boot/root) ou d'une disquette de secours et montez la partition o� se trouve le noyau en �tat de marche :

 mkdir /mnt
 mount -t ext2 /dev/hda3 /mnt

Si mkdir vous annonce que le r�pertoire existe, ignorez le message. Maintenant, allez dans le r�pertoire o� se trouve le noyau en �tat de marche. Notez que

/mnt + /usr/src/linux/arch/i386/boot - /usr = /mnt/src/linux/arch/i386/boot
Ins�rez une disquette format�e dans le lecteur "A:" (v�rifiez qu'il ne s'agit pas de la disquette boot ou root !), faites une copie de l'image sur le disque et configurez votre partition racine :

cd /mnt/src/linux/arch/i386/boot
dd if=bzImage of=/dev/fd0
rdev /dev/fd0 /dev/hda1

Allez � la racine /, et d�montez la partition /usr :

cd /
umount /mnt

Maintenant, vous devriez �tre capable de rebooter votre syst�me normalement � partir de cette disquette. N'oubliez pas de lancer lilo (ou ce que vous aviez oubli�) avant de rebooter !

Comme mentionn� ci-dessus, il y a une autre mani�re tr�s pratique. S'il se trouve que vous avez un noyau op�rationnel dans / (/vmlinuz par exemple), on peut s'en servir. Supposons que vous remplissiez les conditions ci-dessus, et que votre noyau s'appelle /vmlinuz, faites comme ci-dessus en changeant /dev/hda3 en /dev/hda1 (la partition /), /mnt/src/linux en /mnt, et if=bzImage en if=vmlinuz. La petite note expliquant comment aller dans /mnt/src/linux peut �tre oubli�e.

Utiliser LILO avec de gros disques (avec un nombre de cyclindres sup�rieur � 1024) peut poser des probl�mes. Consultez le mini-Howto LILO ou la documentation.

7.7 Il me dit "warning: bdflush not running"

Cela peut �tre un probl�me assez grave. Avec les noyaux ayant une version sup�rieure � 1.0 (aux alentours du 20 avril 1994), le programme "update" qui vide p�riodiquement les tampons disque a �t� remplac� par "bdflush". R�cup�rez les sources de "bdflush" (vous pouvez les r�cup�rer l� o� vous avez trouv� votre noyau), et compilez-le (il vaut mieux fonctionner avec un ancien noyau pendant la compilation et pendant l'installation). Il s'installera tout seul comme "update" et le nouveau noyau devrait ensuite fonctionner correctement.

7.8 Je n'arrive pas � faire marcher mon CD-ROM IDE/ATAPI

Aussi �trange que cela puisse para�tre, beaucoup de gens n'arrivent pas � faire fonctionner leurs disques ATAPI, tout simplement parce qu'il y a un bon nombre de probl�mes potentiels.

Si votre CD-ROM est le seul disque d'une interface IDE particuli�re il doit �tre configur� en "ma�tre (master)" ou "seul (single)". C'est l'erreur la plus fr�quemment rencontr�e.

Creative Labs (par exemple) a mis des interfaces IDE sur ses cartes sons. Toutefois, cela pose un probl�me pour les gens qui ont d�j� deux interfaces IDE sur leur carte m�re (IRQ15 g�n�ralement). Une pratique commune est de faire de l'interface soundblaster un troisi�me port IDE (IRQ11 je pense).

Cela pose un probl�me avec Linux car les versions 1.2.x ne supportent pas une troisi�me interface IDE (cela est g�r� avec les versions 1.3.x mais ce sont des versions de d�veloppement, et la troisi�me interface n'est pas d�tect�e automatiquement). Pour r�soudre ce probl�me, vous avez plusieurs possibilit�s.

Si avez d�j� un deuxi�me port IDE, il y a des chances pour que vous ne l'utilisiez pas ou qu'il n'ait pas deux p�riph�riques connect�s. D�sactivez l'interface ATAPI de la carte son (vous �conomisez un IRQ) et connectez le disque sur votre seconde interface.

Si vous n'avez pas une seconde interface, mettez interface IDE (pas la partie son) de la carte son sur l'IRQ 15. Cela devrait fonctionner.

7.9 Le noyau me dit des insanit�s � propos de requ�tes obsol�tes !

R�cup�rez des versions r�centes du progamme route et de tous les autres programmes manipulant les routes : /usr/include/linux/route.h (qui est en fait un fichier dans /usr/src/linux) a chang�.

7.10 Le Firewall ne fonctionne pas dans la version 1.2.0

Passez � la version 1.2.1.

7.11 Ce n'est pas une image noyau compress�e !

N'utilisez pas le fichier vmlinux cr�� dans /usr/src/linux comme image de boot mais [..]/arch/i386/boot/bzImage.

7.12 Probl�mes avec la console apr�s mise � jour � la version 1.3.x

Changez le mot dumb en linux dans l'entr�e console du fichier /etc/termcap. Il faudra peut-�tre aussi ajouter une entr�e terminfo.

7.13 Le noyau ne semble pas pouvoir compiler apr�s une mise � jour

Le source du noyau contient un certain nombre de fichiers d'en-t�tes (les fichiers se terminant par .h) qui se trouvent dans le r�pertoire /usr/include. Ils sont r�f�renc�s ainsi (o� xyzzy.h doit �tre dans /usr/include/linux) :

 #include <linux/xyzzy.h>
Normalement, il y a un lien appel� linux dans /usr/include sur le r�pertoire include/linux de la racine des sources du noyau (/usr/src/linux/include/linux dans un syst�me standard). Si ce lien n'existe pas, ou bien pointe au mauvais endroit, bon nombre de programmes ne compileront pas. Si vous d�cidez que les sources du noyau prennent trop de place sur votre disque et que vous les d�truisez, cela sera un probl�me. Un autre probl�me qui peut arriver, c'est avec les permissions d'acc�s aux fichiers. Si votre root a un umask qui n'autorise pas les autres utilisateurs � voir ses fichiers par d�faut, et que vous d�sarchiviez les sources du noyau sans l'option p (conserve le mode), les utilisateurs ne pourront pas utiliser le compilateur C. Vous pouvez alors utiliser la commande chmod pour r�soudre le probl�me mais il est probablement plus facile de r�installer les fichiers include. Vous pouvez proc�der de la m�me mani�re que lors de l'installation des sources au d�but, en ajoutant un argument pour n'extraire que les includes :
 blah# tar zxvpf linux.x.y.z.tar.gz linux/include
Notez que "make config" va recr�er le lien /usr/src/linux s'il n'existe pas.

7.14 Augmenter les limites

Ces quelques exemples de commandes peuvent �tre assez utiles � ceux qui se demandent comment augmenter certaines limites logicielles impos�es par le noyau :

 echo 4096> /proc/sys/kernel/file-max
 echo 12288> /proc/sys/kernel/inode-max
 echo 300 400 500> /proc/sys/vm/freepages


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:25