[boot] Failed to parse block device name for /dev/ (résolu)

Reconnaissance et configuration du matériel / kernel linux
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

[boot] Failed to parse block device name for /dev/ (résolu)

Message par farvardin »

bonjour,

j'ai le même problème que celui décrit ici :
http://bbs.archlinux.org/viewtopic.php?id=48604

avec quelque chose dans ce genre :
ERROR: Failed to parse block device name for '/dev/sda3' unknown
ERROR: root fs cannot be detected. Try using the rootfstype= kernel parameter.
Waiting for devices to settle...done.

Root device '/dev/sda3' doesn't exist, attempting to create it
ERROR: Failed to pars block device name for '/dev/sda3'
ERROR: Unable to create/detect root device '/dev/sda3'
Dropping recovery shell... type 'exit' to reboot
NOTE: klibc contains no 'ls' binary, use 'echo *' instead

If device '/dev/sda3' gets created while you are here, try adding 'rootdelay=8' or higher to the kernel co

mais auparavant, que je raconte ce qui s'est passé.

Il s'agit d'une machine virtuelle que j'ai dans virtualbox, donc rien de grave. Il y avait initialement une partition de boot, une partition de swap, une partition root (j'avais utilisé le partionnement automatique je pense). Pour plus de facilité, j'ai recopié la partition de boot dans la racine /, supprimé la partition de swap et de boot initiales.
J'ai modifié /boot/grub/menu.lst en conséquence, mais au redémarrage, cela m'a fait un kernel panic (sans plus d'explications). J'ai donc reconstruit le initramfs avec la commande mkinitcpio -p kernel26 depuis un chroot. Et depuis j'ai ce problème qui me conduit sur un prompt ramfs$ dans lequel je ne peux pas faire grand chose.

J'ai essayé les conseils donnés sur le forum d'archilinux, j'ai essayé de mettre hda3 au lieu de sda3, j'ai essayé de rajouter un rootdelay etc.

En utilisant le kernel fallback, je pense que cela revient à la version que j'avais qui provoquait le kernel panic. Dans le dernier message que j'ai avant ce kernel panic, cela dit "kinit : mounted root (ext3 filesystem) readonly.
kjournald starting etc
kinit: opening console: no such file or directory
kernel panic - not syncing: attempted to kill init!


Auriez-vous une idée pour récupérer ce système ?
Dernière modification par farvardin le dim. 14 déc. 2008, 00:15, modifié 1 fois.
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Message par Cactus »

As-tu pensé à mettre à jour le /etc/fstab ?

EDIT : si tu peut donner ton menu.lst, on ne sait jamais... ;)
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

Message par farvardin »

pas bête pour le fstab. Effectivement, il restait encore le swap indiqué dedans, mais le reste était correct.
Je ne sais pas si je dois persister du côté du failback, qui boote un peu plus loin, ou essayer de régénérer le initramfs encore une fois, mais le boot ne va pas bien loin. Lorsque je suis en chroot, je peux utiliser le système en console sans problème.

Avant le chroot j'avais bien fait :
mount -o bind /dev /mnt/hda3/dev
mount -t proc none /mnt/hda3/proc

par contre c'est indiqué hda parce qu'avec puppy linux que j'ai utilisé en livecd, c'était ça qui était indiqué au lieu de sda. Je me demande si cela n'aurait pas pu poser problème lors de la création du initramfs vu que j'avais monté le dev du sytème livecd. Je vais essayer de le refaire avec un autre livecd.

Le menu.lst est très classique, du genre :

Code : Tout sélectionner

title         Archlinux 
root          (hd0,2)
kernel          /boot/vmlinuz26 root=/dev/sda3 ro 
initrd          /boot/kernel26.img
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Message par Cactus »

Mais si tu supprimes les partitions, ce n'est plus sda3, mais sda1 ! (sauf si pour toi, supprimer = formater uniquement)

Sinon, je ne pense pas que l'initrd soit concerné par le hda3/sda3, normalement, il n'y a que des modules, pas de structure système dedans...
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

Message par farvardin »

c'est ce que je pensais aussi, mais après la suppression des autres partitions, celle marquée sda3 est bien restée à sda3. (par acquis de conscience j'ai essayé de remplacer sda3 par sda1 dans le grub, mais là cela fait aussi un kernel panic, mais d'un autre type et plus logique : "cannot open root device"

J'ai donc reconstruit le initrd, en fait je n'avais pas fait "mount -t sysfs none /mnt/root/sys" et cela laissait une petite erreur lors de la régénération. Mais hélas, après cela, cela fait toujours un kernel panic, mais comme la première fois (avec le premier fallback):

kinit: opening console: no such file or directory
kernel panic - not syncing: attempted to kill init!

mais...

youpee, j'ai trouvé, en fait il disait bien qu'il manquait la console.

Je viens de faire :

Code : Tout sélectionner

mknod /dev/console c 5 1
et cela refonctionne :)

apparemment ce n'est pas créé automatiquement comme le reste. (ça et /dev/null qui doit être en rw partout)

Merci pour votre aide et support !
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Message par Cactus »

bah de rien, t'as trouvé tout seul... :P
En plus, c'était pas évident, je pensais que /dev/console (et tout le reste comme null et je ne sais quoi d'autre) était automatiquement créé... faut croire que non... :?
Avatar de l’utilisateur
gyo
Maître du Kyudo
Messages : 1049
Inscription : jeu. 19 avr. 2007, 10:40
Localisation : Nantes (44)

Message par gyo »

Ça me fait penser qu’il y a un wiki qui évoque la création des fichiers dev lors du remplacement du disque dur…
http://wiki.archlinux.fr/howto:installa ... ent_disque
commentaire rédigé à l’aide d’un clavier ergonomique bépo
KISS MY ARCH
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

Message par farvardin »

effectivement c'est évoqué ici :
Il faut qu'un minimum de fichiers soient présent en dur dans le système de fichier /dev avant que celui-ci se peuple ultérieurement sinon vous aurez droit à un sympatique kernel panic.

cp -a /dev/{console,null,zero} /mnt/nouveau_dd/dev/
merci de la précision gyo.
Répondre