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"
O. Tharan :
Tu as une version de patch trop vieille. Fais :
rm arch/i386/lib/checksum.[co]
make zImage
Que signifie le message unable to get major suivi d'un nombre ?
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.
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
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
depmod),
que des modules inutiles existent (cas des Red Hat après recompilation du
noyau sans mise-à-jour).
On peut s'en affranchir en détruisant
/lib/modules/NUMÉRO_DE_VERSION avant de réinstaller les modules
(make modules_install) mais cela n'en vaut pas la peine car risque
de rendre inopérant le noyau livré par la distribution ;modules.conf ou
conf.modules. Mais si les deux existent, alors c'est le deuxième
qui sera lu.
La compilation d'un noyau échoue avec un message concernant
objdump, par exemple "objdump: 0x100000: No such file or
directory".
objdump et objcopy a changé. Ca ne marche plus avec les
Makefiles du noyau 2.0.x ;/usr/bin/encaps, comme
cela est dit dans release.binutils-2.8.1.0.1. En effet, le
Makefile du noyau teste la présence de encaps pour déterminer
quelle version des binutils on a. Si encaps est présent,
objdump est utilisé, sinon c'est objcopy qui l'est.
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. 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é.
"/etc/passwd is locked, try again later"
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
Il faut utiliser un noyau intégrant TCP/IP.
/etc/hosts doit contenir :
127.0.0.1 FQDN localhost loopback N
où :
hostname (ou uname -n)hostname | cut -f1 -d.
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.
"halt,shutdown,reboot" en tant que root ou Ctrl+Alt+Supr me renvoient tous le message: "shutdown: already running"
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.
Des binaires libc5 et libc6 coexistent sur le système, or le format de
/var/run/utmp a évolué.
Recompiler un noyau avec prise en charge du système de fichiers
("filesystem") de type iso9660.
Document signal 11
Mon programme C utilisant malloc() échoue avec le message : "segmentation fault".
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".
Pendant le boot, de temps en temps, un message « maximum mount, check forced. » apparaît. Qu'est-ce ?
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 ».
Quelle est la signification du message de démarrage de LILO ?
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) :
/boot/boot.b non suivi d'une invocation de
lilo.
map. Ceci est
caractéristique d'un problème de support ou d'une géométrie incohérente.
LI.
LI.
Le démarrage sur disquette échoue avec un message « crc error », ou
un code d'erreur bizarre.
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.
Comment s'écrit Jacoboni ?
Jacoboni, pas Jacobini.