Kernel panic et 'Erreur 11: Unrecognize device string'

Pour profiter de tous les avantages du dernier kernel, j’ai décidé de passer du 2.6.8-386 au 2.6.19.2. :smiley:

Après quelques heures entre tutos et documentations pour bien configurer mon noyau, me voilà prêt pour la compilation à proprement dite.
Et hop !

make-kpkg --initrd kernel-image modules make-kpkg modules_image cd .. dpkg -i kernel-image-2.6.19.2

Tout paraît correctement configuré mais lorsque je reboote :

aer: probe of 0000:00:02.0:pcie1 failed with error 1 aer: probe of 0000:00:03.0:pcie1 failed with error 1 Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds). Hangcheck: Using get_cycles(). Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled serial8250: ttyS0 at I/O 0x3f8 (irq=4) is a 16550A serial8250: ttyS0 at I/O 0x2f8 (irq=4) is a 16550A 00:09: PS/2 Controller [PNP0f13:PS2M] at 0x60, 0x64 irq 12 00:0a: PS/2 Controller doesn't have KBD irq; using default 1 serio: i8042 KBD port at 0x60, 0x64 irq 1 serio: i8042 AUX port at 0x60, 0x64 irq 12 mice: PS/2 mouse device common for all mice TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 17 Using IPI Shortcut mode Time: tsc clocksource has been installed. VFS: Cannot open root device "hda1" or unknow-block(0,0) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs or unknow block(0,0) <2>Hangcheck: hangcheck value past margin! Hangcheck: hangcheck value past margin! Hangcheck: hangcheck value past margin!

A noter que pour pouvoir ceci j’ai dû débrancher mon clavier sinon j’avais droit à :

atkbd.c: Spurious ACK on isa0060/serio. Some program might be trying to acces hardware directly.

J’ai lu sur un forum anglais que c’était un bug et que ce n’était absolument pas la raison du kernel panic.
(les LEDs du clavier clignotent pendant que cette phrase se réimprime à l’écran toutes les secondes).

Voici mon /boot/grub/menu.lst (en supprimant tout ce qui est inutile) :

[code]default 0
timeout 5
color cyan/blue white/blue

title Debian GNU/Linux, kernel 2.6.19.2
root (hd0,0)
kernel /boot/vmlinuz-2.6.19.2 root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.19.2
savedefault
boot

title Debian GNU/Linux, kernel 2.6.19.2 (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.19.2 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.6.19.2
savedefault
boot

title Debian GNU/Linux, kernel 2.6.8-3-386
root (hd0,0)
kernel /boot/vmlinuz-2.6.8-3-386 root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.8-3-386
savedefault
boot

title Debian GNU/Linux, kernel 2.6.8-3-386 (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.8-3-386 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.6.8-3-386
savedefault
boot
[/code]

Au menu du boot, en tapant ‘c’ pour une ligne de commande :

[code]>root (hd0,0)
Filesystem type is ext2fs, partition type 0x83

Kernel /boot/vmlinuz-2.6.19.2
[Linux-bzImage, setup=0x1c00, size=0x83

root=/dev/hda1
Error 11: Unrecognize device string
[/code]

Bon, je sais lire et le “hda1” ne lui plaît pas mais j’ai beau essayer hda, hda1, sda … rien :cry:
(mais je suis prêt à tenter toutes les combinaisons que vous me soumettrez!)

Bien sûr, j’écris cela depuis le “2.6.8-386” et le “root=/dev/hda1” 'a pas l’air de le perturber.
Je pense avoir donné tous les renseignements mais si vous voulez savoir qqch de précis, n’hésitez pas ! :wink:

Merci
PS : Le courant est enfin revenu ici, et ça c’est chouette !!

Ds
/boot
tu as bien les entrées de ton nouveau kernel
config, vmlinuz, etc ?
As-tu d’autres distribs sur ce DD ?

Ce que contient /boot/ :

[code]debian:~# cd /boot/
debian:/boot# ls -a -C -R
.:
. grub System.map-2.6.8-3-386
… initrd.img-2.6.19.2 vmlinuz-2.6.19.2
config-2.6.19.2 initrd.img-2.6.8-3-386 vmlinuz-2.6.8-3-386
config-2.6.8-3-386 System.map-2.6.19.2

./grub:
. fat_stage1_5 menu.lst~ stage1
… jfs_stage1_5 minix_stage1_5 stage2
e2fs_stage1_5 menu.lst reiserfs_stage1_5 xfs_stage1_5
[/code]

Moi aussi j’ai eu cette erreur:

En fait dans le 2.6.19 le chemin du module pour mon disque dur SATA avait changé dans le .config. Et comme j’ avais utilisé mon .config du 2.6.18, les modules n’était pas cochés.

Je pense que ton probléme vient de là. Vérifie si les modules pour tes chipsets
sont bien activés.

J’ai moi-même mis oui ou non à chaque option (du .config) en regardant sur divers tutos.
Je laisse ici le lien qui m’a le plus servi pour ceux qui voudraient y voir plus clair dans ces options. :wink:

En tout cas, la piste du pilote non activé est possible mais ne résoudra pas mon histoire de kernel panic.
Si tu te souviens la section dans laquelle il faut activer ces pilotes, je serai ravi :unamused:
(je suis peut-être passé à côté de ce qu’il me fallait)

En y repensant, c’est peut-être une histoire de disque dur SATA.
Je ne sais pas si mon disque dur appartient à cette catégorie.
Et comment le vérifier ?

Si vous voulez des infos sur une option particulière, je peux vous dire si je l’ai activée ou pas.
Voilà et merci :wink:

Tu ne connais pas le type de ton disque dur ? :open_mouth:
Pour vérifier regarde si ton disque dur est connecté avec une nappe ide.

Si c’est un sata, debian le nomme à priori sda ou sdb. Si c’est de l’IDE, c’est hda, hdc, …

Voici un extrait de dmesg

ATA et “hda” donc c’est un IDE, non ?
Alors pourquoi le “hda1” ne convient pas au nouveau noyau ?

fais voir le fstab, à ts hasards

EDIT :
ptet aussi essayer de recharger grub qui aurait merdé ?

update-grub

au fait, est-ce que tu as essayé en mode rescue (single-user) ?

Voici pour toi :

[code]debian:~# cat /etc/fstab

/etc/fstab: static file system information.

proc /proc proc defaults 0 0
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda6 /home ext3 defaults 0 2
/dev/hda5 none swap sw 0 0
/dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
/dev/sda /mnt/usb1 iso9660 ro,user,noauto 0 0
[/code]

Le plus bizarre dans tous ça c’est que j’ai utilisé make-kpkg et dpkg et donc, ça s’est configuré tout seul, ce n’est pas comme si j’avais moi même édité le ‘menu.lst’.
Et ce qui me ‘trouble’ le plus c’est le fait que je puisse booter à partir de hda1 avec le 2.6.8-386 et pas le 2.6.19.2.

Je vais essayer de recompiler le kernel en rajoutant quelques options et reviens vous dire ce que ça donne. :wink:

Ooops… j’ai complètement oublié de donner de mes nouvelles… :unamused:

En fait, j’ai repris le fichier de configuration de mon ancien noyau, le 2.6.8-386 et… ça marche :smiley: :smiley: !

Je suis prêt à parier que c’est parce que j’ai mal configuré le kernel, qu’il m’a mit cette erreur.
En voulant ne mettre que l’essentiel, j’ai sûrement enlevé l’indispensable (philosopherais-je sans le savoir ? :laughing: )

Donc si quelqu’un à cette erreur : soit votre root=/dev/machin est incorrect
soit le problème vient d’ailleurs, et je suggère de revoir la config du kernel.

Ah et une dernière chose : on ne le redira jamais assez mais faites une sauvegarde avant de vous lancer dans quelque chose.
Ici, gardez le moyen de booter sur l’ancien noyau, on ne sait jamais ! :wink:

Allez et encore merci pour tout.