Waiting for root file system

Hello les gens !

J’ai installé debian sous vmware et j’ai un petit problème car cela fonctionnait parfaitement bien mais après une upgrade du kernel je ne peux pas booter ma machine virtuelle sur ce nouveau kernel et pourtant les paramètres de grub sont les même.

Y’a beaucoup de message sur internet à ce sujet mais pas vraiment de réponse… J’espère que j’aurais une réponse sur ce forum

contenu du fichier menu.lst
itle Debian GNU/Linux, kernel 2.6.25-2-686
root (hd0,0)
kernel /boot/vmlinuz-2.6.25-2-686 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.25-2-686

title Debian GNU/Linux, kernel 2.6.25-2-686 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.25-2-686 root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.25-2-686

title Debian GNU/Linux, kernel 2.6.18-6-686
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.18-6-686

title Debian GNU/Linux, kernel 2.6.18-6-686 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.18-6-686

Voila si vous pouviez me donner un p’tit coup de main moi j’y perd mon latin…

++

Je viens de me rendre compte que j’ai pas tout expliqué :S

en fait j’ai le problème de ‘waiting for root file system’ failed et puis après j’ai une ligne de commande mais je ne sais pas trop quoi faire.

j’ai regardé dans /dev et je n’ai pas de sda* et seulement un hda. j’ai essayé de faire une manip dans grub pour démarrer sur ce hd mais après il ne trouve pas sda5… donc je ne sais pas trop quoi faire surtout que je boot très bien sur l’ancien kernel.

merci d’avance.

Bonsoir,

Il faut peut être mettre en conformité /etc/fstab avec ce que voit le noyau ?
Je suppose que sda5 (ou hda5 ?) est la racine ?

euh non toujours les mêmes erreurs

resume: Could not stat the resume device file '/dev/sda5'
        Please type in the full path name to try again 
        or press ENTER to boot the system
[...]
Begin: Running /scripts/init-bottom
mount: No such file or directory
Done
[...]
Target filesystem doesn't have /sbin/init
No init found. try passing init= bootarg

et après j’ai busybox…

Peut être une piste

Si tu as tout bien configuré au niveau des “hda” et “sda” pour tes disques dans Grub, alors ton problème provient très probablement d’un bug dans ton image “initrd”. C’est en tout cas le problème que j’ai eu et que j’ai réussi à résoudre partiellement pas plus tard qu’hier soir : viewtopic.php?p=149784#p149784
Mais comme je le précise un peu plus loin : viewtopic.php?p=149901#p149901
il semblerait que “yaird” ne soit pas forcément le remède miracle. Mais tu peux quand même tester dans un premier temps pour t’assurer qu’il s’agit bien d’un bug dans ton image et que ça ne vient pas d’autre chose.

Pour configurer “yaird”, il faut l’installer depuis le package, puis éditer le fichier “/etc/kernel-img.conf” en commentant la ligne qui commence par “ramdisk =” si elle existe (tu rajoutes un # pour faire ça en début de ligne), puis rajouter la ligne suivante à la fin du fichier en question :

Puis il faut recréer l’image de boot, mais pour l’instant je n’ai réussi qu’en recompilant totalement mon kernel.

Sinon, tu peux toujours tenter sans recompiler le kernel en entier. Pour créer l’image avec “yaird”, utilise la ligne suivante :

Il faudra peut être te placer dans le répertoire en amont de celui qui contient les sources du kernel (par exemple si tes sources sont dans “/usr/src/linux-2.6.x”, place toi dans “/usr/src” pour exécuter la commande, même si je pense que ça peut fonctionner sans ça, mais dans le doute…).
Pour finir, il faudra adapter ton fichier “/boot/grub/menu.lst” en modifiant la ligne qui va chercher ton image “initrd” avec le nom de ta nouvelle image. Franchement dit, c’est beaucoup plus simple de recompiler tout le kernel car il fait tout ça automatiquement (enfin il faudra quand même installer “yaird” et modifier le fichier “kernel-img.conf” avant de lancer la compilatilon évidemment).

En espérant que ça t’aidera… (perso j’en ai ch*** avant de trouver la source de l’erreur !).

Salut,

en fait je crois que le problème est quelque peu différent de ce que je pensais car une fois dans l’invite de commande si je vais dans ‘/dev’ je n’ai ni ‘sd*’ ni ‘hd*’, excepté hdc qui est le cd-rom et c’est celui la que j’avais mis dans grub en fait…

je suis vraiment perdu dans cette histoire…

Tu n’as qu’un seul DD branché :question:
envoie ici

fdisk -l

Comme je l’ai dis précédemment il s’agit d’une machine virtuelle avec VMWare, et l’image est sur un disque dur externe en USB. Normalement le systeme n’est censé voir d’un seul HDD maintenant je ne sais pas si il n’y pas un problème avec l’image sur le disque externe… mais j’ai pas la place de la mettre sur HDD de la machine.

[quote=“ricardo”]
envoie ici

fdisk -l[/quote]

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000165c4

Device Boot Start End Blocks Id System
/dev/sda1 * 1 3749 30113811 83 Linux
/dev/sda2 3750 3916 1341427+ 5 Extended
/dev/sda5 3750 3916 1341396 82 Linux swap / Solaris

bonjour à tous …

moi j’ai le même problème sauf que c’est directement dans le grub de la machine…

ce qui me gène d’autant plus c’est pour les 2 noyaux, la seul différence dans les instruction c’est la version du noyau…

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

title     Debian GNU/Linux, kernel 2.6.18-6-686
root      (hd0,0)
kernel    /boot/vmlinuz-2.6.18-3-686 root=/dev/hda1 ro
initrd    /boot/initrd.img-2.6.18-6-686

la machine boot sans problème sur le 2.6.18-6-686 et m’affiche un [quote]‘waiting for root file system’ failed et puis après j’ai une ligne de commande[/quote] apres …

J’ai remarqué que quand vous avez une ligne de commande qui apparaît après un certain moment (ce qui n’était pas le cas pour moi, même après 2h d’attente), c’est que le problème provient du nom des partitions (passage de “hdx” à “sdx”). Avez-vous essayé avec les labels ?

non car je ne sais pas ce que c’est :blush:

Ah oui je n’avais pas donné le lien, désolé : viewtopic.php?f=3&t=9933

:wink:

Bon ca n’a pas l’air de changer grand chose mais bon j’ai peut être mal compris… je vais essayer d’aller plus loin

Par contre question bête, est-ce que cela ne pourrait pas être un ‘module’ qui gère un type de disque qui manquerai car j’ai le pressentiment que le problème est plutôt qu’il ne voit pas mon disque.

Est-ce qu’il n’y aurait pas un truc a faire pour activer ce module au chargement ?

[quote=“obby”]Salut,

en fait je crois que le problème est quelque peu différent de ce que je pensais car une fois dans l’invite de commande si je vais dans ‘/dev’ je n’ai ni ‘sd*’ ni ‘hd*’, excepté hdc qui est le cd-rom et c’est celui la que j’avais mis dans grub en fait…

je suis vraiment perdu dans cette histoire…[/quote]
Bon et bien après avoir réussi à compiler correctement mon nouveau kernel, et réussi à le charger au boot, j’ai maintenant exactement le même problème que toi ! On est dans la même galère…

Comme toi, je ne vois que mon lecteur de CD-Rom dans “/dev”. Aucune trace d’un quelconque “sda”. J’ai juste un “hda” qui pointe sur le lecteur de CD-Rom.
Je précise que mon disque dur est du SATA, donc c’est bien du “sda” que je devrais trouver dans “/dev”.
“fdisk -l” est une commande introuvable dans le shell de BusyBox chez moi.
J’ai essayé la commande “mount” qui me renvoie :

none on /sys type sysfs (rw)
none on /proc type proc (rw)
udev on /dev type tmpfs (rw)

mais je ne sais pas trop quoi en faire.

Mon Grub est bien configuré, pas trop de doutes là dessus.

[quote]Par contre question bête, est-ce que cela ne pourrait pas être un ‘module’ qui gère un type de disque qui manquerai car j’ai le pressentiment que le problème est plutôt qu’il ne voit pas mon disque.

Est-ce qu’il n’y aurait pas un truc a faire pour activer ce module au chargement ?[/quote]
Je me demande la même chose…

Je pense que le problème n’est pas lié directement à la conf (grub ou autre)

en effet, je suis en train de tenter une installation de lenny avec le netinst-CD et patatra… il reconnait pas le disque dur!

donc voila je pense que le problème est la! reste plus qu’à trouver la solution… " y’a plus qu’à "

Bon, je suis tombé sur cette page qui semble avoir résolu le problème du mec, mais pas le miens, ce qui n’est d’ailleurs pas du tout logique ! generation-nt.com/reponses/2 … 36721.html

D’après lui il suffit d’intégrer le module “libata” dans le nouveau “initrd” en ajoutant la ligne “libata” dans le fichier “/etc/initramfs-tools/modules”.
Voici à quoi sert ce module :

[quote]La libATA est une bibliothèque pour le noyau linux introduite lors de la version 2.6.18. Elle est censée permettre de gérer tous les transferts ATA et ATAPI via le sous-système SCSI.
C’est « grâce » à elle que vos partitions apparaissent sous la forme /dev/sdX au lieu de /dev/hdX.[/quote]
Source : doc.ubuntu-fr.org/doku.php?id=libata

C’est très probablement ce qu’il nous faut !

J’ai donc fais comme lui en reconfigurant automatiquement mon système ensuite (comme il le préconise) mais rien à faire.

J’ai même ajoutant un 2ème module “sd_mod” qui permet le support des disques SCSI, mais toujours rien de mieux.

J’ai donc fais un “lsmod” sous mon kernel qui fonctionne, et ces modules sont effectivement bien chargés :

Module Size Used by rfcomm 34712 0 l2cap 21760 5 rfcomm bluetooth 46020 4 rfcomm,l2cap ppdev 8676 0 parport_pc 32132 0 lp 11012 0 parport 33256 3 ppdev,parport_pc,lp button 6672 0 ac 5188 0 battery 9636 0 ipv6 226272 10 dm_snapshot 15552 0 dm_mirror 19152 0 dm_mod 50232 2 dm_snapshot,dm_mirror loop 15048 0 snd_hda_intel 17332 1 snd_hda_codec 137856 1 snd_hda_intel snd_pcm_oss 38368 0 snd_mixer_oss 15200 1 snd_pcm_oss snd_pcm 68676 3 snd_hda_intel,snd_hda_codec,snd_pcm_oss snd_timer 20996 1 snd_pcm joydev 9088 0 snd 47012 8 snd_hda_intel,snd_hda_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer i2c_i801 7468 0 soundcore 9248 1 snd rtc 12372 0 serio_raw 6660 0 i2c_core 19680 1 i2c_i801 pcspkr 3072 0 snd_page_alloc 10184 2 snd_hda_intel,snd_pcm psmouse 35016 0 tsdev 7520 0 evdev 9088 2 ext2 59048 1 mbcache 8356 1 ext2 sd_mod 19040 3 ide_cd 36064 0 cdrom 32544 1 ide_cd usbhid 37248 0 piix 9444 0 [permanent] ehci_hcd 28136 0 ahci 17924 2 libata 89396 1 ahci scsi_mod 124168 3 sd_mod,ahci,libata generic 4868 0 [permanent] ide_core 110504 3 ide_cd,piix,generic uhci_hcd 21164 0 r8169 28360 0 usbcore 112644 4 usbhid,ehci_hcd,uhci_hcd thermal 13608 0 processor 28840 1 thermal fan 4804 0

Je me suis ensuite rendu compte en explorant mon image “initrd” qu’il avait bien intégré le module “sd_mod.ko” qui n’était pas présent à la base, mais pas le module “libata.ko” ! Et j’ai beau tout essayé, rien à faire, il ne veut pas me mettre “libata” dans mon image de boot, même en créant une nouvelle image et en copiant ledit module au même endroit que “sd_mod”.

Donc je suis allé faire un tour dans mon fichier de config avec un classique “make menuconfig”, et là j’ai activé en dur les options qui touchent au support SCSI des disques durs (qui correspondent en fait aux modules “sd_mod” et “libata”), en espérant que cette fois il intégrera les 2 zigotos pour de bon. Là ça compile, je vous tiens au courant d’ici 45 min…

RESOLU !
Et bien oui, c’était bien ça !!! :smiley: :smt026 :smiley:

Le disque dur n’est pas présent dans “/dev” car le module “libata” n’est pas présent dans l’image.

J’ai donc voulu l’intégrer dans l’image, mais il n’y avait pas moyen, car dans le fichier “.config” de compilation des sources, l’option qui permet de charger le module était désactivée. Donc le kernel ne voulait pas m’ajouter le module en question puisqu’il était était définit comme désactivé et non pas en module ou en dur !

Donc tout ce que vous avez à faire, c’est faire un classique :

# make menuconfig

dans le répertoire de vos sources, puis aller dans “Device Drivers” et activer en dur l’option “Serial ATA (prod) and Parallel ATA (experimental) drivers”.

Ensuite pour ma part, j’ai coché toutes les options possibles qui se trouvaient à l’intérieur de “Serial ATA (prod) and Parallel ATA (experimental) drivers” histoire d’être sur que ça fonctionne (il sera toujours temps d’optimiser).

J’ai également activé en dur l’option “SCSI disk support” qui se trouve dans le menu “Device Drivers --> SCSI device support”. Je ne sais pas si c’est obligatoire mais j’ai préféré tout activer d’un coup pour ne pas avoir à me retaper une compil de 45 min…

Voilà, si ça fonctionne aussi pour vous on pourra enfin marquer ce topic comme résolu !!! :smt041

Bon ba euh j’ai pas réussi pourtant je pense avoir bien ajouté tout ca!

maintenant je ne sais pas comment vérifier la présence de ‘libata’ dans l’image au cas où je me soit loupé dans le ‘make menuconfig’

[quote=“obby”]Bon ba euh j’ai pas réussi pourtant je pense avoir bien ajouté tout ca!

maintenant je ne sais pas comment vérifier la présence de ‘libata’ dans l’image au cas où je me soit loupé dans le ‘make menuconfig’[/quote]
Est-ce que par hasard tu utilises un logiciel de virtualisation comme VMware par exemple ?