Page précédente Page suivante Table des matières

6. Messages du système

6.1 error in checksum.c

Question

Depuis le passage en 2.2, on voit souvent la question : Je viens de mettre le kernel 2.2.1, mais à la compilation il dit: "error in checksum.c"

Réponse

O. Tharan :
Tu as une version de patch trop vieille. Fais :

rm arch/i386/lib/checksum.[co]
make zImage

6.2 unable to get major

Question

Que signifie le message unable to get major suivi d'un nombre ?

Réponse

Un pilote de périphérique compilé dans le noyau (donc « intégré ») se trouve aussi disponible sous forme de module.
E. Decaen : utiliser modprobe -c pour étudier la liste des modules en ligne.

6.3 insmod: NOM_DE_FONCTION: wrong version or undefined

Question

Messages du système lors du démarrage, de l'arrêt ou de l'utilisation de certains programmes réseau :

insmod: NOM_DE_FONCTION: wrong version or undefined
 [ ... nombreux ... ]
Loading failed! The module symbols (from linux-NUMERO_VERSION) don't match
your linux-NUMERO_VERSION

Réponse

En ce qui concerne les modules réseau : ajouter au fichier /etc/modules.conf

alias net-pf-3 off  # si pas AX25
alias net-pf-4 off  # si pas de module IPX (protocole reseau Novell Netware)
alias net-pf-5 off  # si pas de module Appletalk (protocole reseau Apple)

E. Lassauge Les messages de depmod, après recompilation d'un noyau Red Hat, sont dus au initrd standard de cette distribution. Grâce à cette directive de LILO, on monte au boot un système de fichiers dans un RamDisk (dit initrd, init Ram Disk). Avec certaines configurations Red Hat (par exemple la 4.0), ce système de fichiers contient « ce qu'il faut » pour forcer le chargement du module du driver de gestion du disque dur. Si on recompile le noyau, le initrd cherche quand même à charger un module éventuellement ancien.

La solution consiste à utiliser un autre initrd pour le nouveau noyau. Pour cela, il faut modifier le fichier de config de LILO. Consulter le fichier /usr/src/linux/Documentation/initrd.txt (les pointeurs y sont un peu anciens mais j'ai fini par tout trouver, surtout le très utile initrd-example.tgz).

Exemple de /etc/lilo/conf avec 2 initrd :

boot=/dev/sda
map=/boot/map
install=/boot/boot.b
message = /boot/boot.message-2.0.x
image=/boot/vmlinuz-2.0.30
        label=linux
        root=/dev/sda1
        noinitrd
        read-only
image=/boot/vmlinuz-2.0.18
        label=redh
        root=/dev/sda1
        initrd=/boot/initrd-2.0.18
        read-only

Commentaires

6.4 objdump, binutils

Question

La compilation d'un noyau échoue avec un message concernant objdump, par exemple "objdump: 0x100000: No such file or directory".

Réponses

6.5 e2fsck : deleted inode ... zero dtime

Question

e2fsck, par exemple lorsqu'il est invoqué automatiquement durant le boot, produit parfois un message :

Deleted inode XXX has zero dtime. 
Set dtime? yes.

Réponse

R. Card :

Chaque i-noeud possède un champ dtime qui contient la date de suppression du dernier fichier associé à cet i-noeud. Le but de ce champ est de permettre d'effectuer des traitements particuliers quand/si une fonction « undelete » sera incorporée à Ext2fs.

Lorsqu'un fichier est supprimé, le noyau met à jour ce champ dtime (avec la date courante) et l'i-noeud est réécrit sur disque. Quand un i-noeud est alloué, le champ dtime est mis à zéro.

fsck vérifie que le champ dtime est non nul pour tout i-noeud non alloué (dont le nombre de liens est nul). Si ce n'est pas le cas, il affiche ce message d'erreur. Généralement, cette erreur peut être due à des redémarrages brutaux, à des problèmes de disque ou à des bogues dans Ext2fs.

De toutes façons, c'est une erreur très bénigne dans la mesure où dtime n'est pas (encore) utilisé.

6.6 /etc/passwd is locked

Question

"/etc/passwd is locked, try again later"

Réponse

J.-C. Delépine : Tu as dû utiliser la commande adduser et la quitter brutalement. La version RedHat de cette commande crée un fichier /etc/.pwd.lock afin de s'assurer l'exclusivité sur le fichier /etc/passwd.

Solution donc : vérifier quíl n'y a pas un autre adduser qui tourne quelque part puis supprimer le fichier /etc/.pwd.lock

6.7 "unable to get official name for local machine", ou bien sendmail sebloque lors du démarrage (boot)

Réponse

Il faut utiliser un noyau intégrant TCP/IP.

/etc/hosts doit contenir :

127.0.0.1 FQDN localhost loopback N
où :

6.8 Couldn't get free page

Réponse

D. Segonds :
Peut être causé par un manque de mémoire. Rajouter par exemple de la mémoire virtuelle (swap) en utilisant mkswap puis swapon.

6.9 shutdown: already running

Question

"halt,shutdown,reboot" en tant que root ou Ctrl+Alt+Supr me renvoient tous le message: "shutdown: already running"

Réponse

D. Segonds, E. David et Remy Card :

Méthode la plus élégante : shutdown -c.

Un fichier bloque le lancement d'un deuxième shutdown lorsqu'un autre est déjà en cours. Il s'agit de shutdown.pid, souvent placé dans /var/run ou bien dans /etc. Le détruire.

6.10 bad data in /var/run/utmp

Réponse

Des binaires libc5 et libc6 coexistent sur le système, or le format de /var/run/utmp a évolué.

6.11 iso9660 cannot be mounted by the kernel

Réponse

Recompiler un noyau avec prise en charge du système de fichiers ("filesystem") de type iso9660.

6.12 signal 11, 4 ou 6

Réponse

Document signal 11

6.13 Allocation mémoire (segmentation fault)

Question

Mon programme C utilisant malloc() échoue avec le message : "segmentation fault".

Réponse

J. Kachelhoffer-Bertrand :

Cela peut être causé par une erreur de programmation (déréférencement de pointeur 'pendouillant' ("dangling"), c'est-à-dire dont la valeur est incorrecte.

Mais aussi par le fait que Linux pratique la sur-réservation : malloc retourne un pointeur sans vraiment allouer de mémoire. Elle sera effectivement allouée lorsque la première ecriture sera faite. Le système peut alors découvrir qu'il ne reste pas de mémoire disponible et terminer le processus par un "segmentation fault".

6.14 Message au démarrage : « maximum mount, check forced »

Question

Pendant le boot, de temps en temps, un message « maximum mount, check forced. » apparaît. Qu'est-ce ?

Réponse

D. Segonds :

Le système de fichiers comporte un compteur qui est incrémenté à chaque sois qu'un montage est effectué. Lorsque le compteur atteint la valeur maximale, la vérification est lancée à l'appel de fsck. C'est un comportement normal. Vous pouvez modifier la valeur maximale du compteur en utilisant l'option « -c » de l'utilitaire « tune2fs ».

6.15 Messages de LILO

Question

Quelle est la signification du message de démarrage de LILO ?

Réponse (Doc LILO, adaptée par J. Bernier et É. Jacoboni)

LILO, au cours de son exécution, affiche peu à peu chaque lettre du mot "LILO". Si LILO échoue à un stade donné, les lettres affichées révèlent l'étape avortée (sa documentation technique décrit tout cela de façon plus détaillée). Certains nombres hexadécimaux peuvent s'afficher après le premier "L" si des problèmes transitoires surviennent sur le disque dur. À moins que LILO ne se bloque, l'affichage d'une suite interminable de nombres hexadécimaux à ce niveau ne révèle pas des problèmes graves.

Note : l'option de LILO 'linear' corrige de nombreux problèmes relevant de la géométrie. Attention : linear et compact ne font parfois pas bon ménage.

Messages affichés par LILO (consulter aussi, à ce propos, la section consacrée au secteur d'amorçage) :

6.16 Disquette de démarrage (boot, floppy, CRC)

Question

Le démarrage sur disquette échoue avec un message « crc error », ou un code d'erreur bizarre.

Réponse

Utiliser une autre disquette, la formater au préalable et s'assurer qu'elle n'a pas de défaut (« bad sectors », « secteurs défectueux »).

Codes d'erreur : consulter la documentation de LILO.

6.17 Le système Jaco (Jacoboni)

Question

Comment s'écrit Jacoboni ?

Réponse

Jacoboni, pas Jacobini.


Page précédente Page suivante Table des matières