# [RESOLU] block device /dev/sda4 is not a valid root device

## _KdZ

Bonsoir  :Smile: 

j'ai compilé linux-2.6.27-gentoo-r5 avec genkernel all et mise à jour de grub... bref ça a bien fonctionné mais lorsque je veux démarrer ce nouveau noyau, après avoir chargé quelques modules il affiche :

!! block device /dev/sda3 is not a valid root device

!! could not find the root block device in

J'ai essayé ensuite de recompiler le noyau avec genkernel --menuconfig all en essayant cette fois d'activer des trucs scsi et en rajoutant doscsi dans le use (on sait jamais...) mais ça n'a rien changé   :Sad:  .

Pour info, le boot en r5 ne pose aucun pb... j'ai donc recompilé une bonne dizaines de fois  avec divers truc comme scsi... je suis sur un portable acer avec un disque ide.

une idée ? j'aimerais bien continuer mon install de gentoo avec le wifi et tt le reste pour pouvoir l'utiliser à la place de Vista. Merci d'avance !Last edited by _KdZ on Tue Jan 20, 2009 10:43 pm; edited 3 times in total

----------

## ppg

Salut,

j'ai deux questions :

- Quelle est ta partition root /

- Si ton disque est un disque IDE, il est normal que /dev/sda3 ne soit pas connu, à moins d'utiliser la libata (voir ici pour la configuration). Est-ce que tu peux joindre ton /usr/src/linux/.config pour qu'on puisse voir d'où vient le problème ?

----------

## _KdZ

'soir  :Smile: 

Résultat de la commande fdisk -l :

```

Disk /dev/sda: 100.0 GB, 100030242816 bytes

255 heads, 63 sectors/track, 12161 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0xf51bf51b

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        9534    76581823+   7  HPFS/NTFS

/dev/sda2            9535        9665     1052257+  82  Linux swap / Solaris

/dev/sda3            9666        9792     1020127+  83  Linux

/dev/sda4            9793       12161    19028992+  83  Linux

Disk /dev/sdb: 520 MB, 520093696 bytes

255 heads, 63 sectors/track, 63 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x013e28ca

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *           1          64      507872+   b  W95 FAT32

Partition 1 has different physical/logical endings:

     phys=(62, 254, 63) logical=(63, 58, 59)

```

-Mon disque est bien en IDE (laptop acer tm601).

quand j'ai block device /dev/sda4 is not a valid root device... et que je tape (il me demande please specify another value or: press Enter for the same, type "shell" for a shell, or "q" to skip...) :

/dev/hda1 ou /dev/hda2 il me dit :  coult not mount specified ROOT, try again

Could not find the root block device in.

Contenu de mon fichier /usr/src/linux/.config : http://rapidshare.com/files/182945035/linuxForum.txt.html

----------

## titoucha

As-tu bien compilé le noyau avec le support du bon système de fichier (ext2, ext3, etc.)

----------

## kwenspc

Tu peux mettre ton titre de topic en conformité avec les règles du forum ?

----------

## depayns

Salut,

Tu es parti de quelle architecture ? ~ ou pas ~ ?

Car j'ai eu le meme probleme en faisant une installation fraiche, avec les stage3 (en ~) fournis par www.funtoo.org.

Le soucis c'est que plus rien ne voulait se monter, exactement comme pour toi. Ca venait du baselayout 2 ainsi que du remplacement de openRC et de udev qui ne retrouvait plus ses petits. Resultat des courses, /dev etait a la ramasse.

J'ai pu corriger ce probleme avec :

```
rc-update del udevd sysinit 

rc-update add udev sysinit 

```

----------

## _KdZ

 *titoucha wrote:*   

> As-tu bien compilé le noyau avec le support du bon système de fichier (ext2, ext3, etc.)

 

oui, comment je peux connaitre les options de compilation de mon kernel actuellement utilisé ? (et non pas les options du dernier compilé)

 *kwenspc wrote:*   

> Tu peux mettre ton titre de topic en conformité avec les règles du forum ?

 

ok désolé  :Smile: 

 *depayns wrote:*   

> Salut,
> 
> Tu es parti de quelle architecture ? ~ ou pas ~ ?
> 
> J'ai pu corriger ce probleme avec :
> ...

 

Dans mon make.conf je viens de rajouter ~x86 je dois surement recompiler maintenant...

les commandes rc-update me retourne pour les deux cas "not found" dois-je emerger udev ?

----------

## _KdZ

je viens de recompiler, j'ai vérifié j'ai bien ext2 3... même erreur  :Sad: 

----------

## Gaby

Salut,

Tu peux nous coller ton grub.conf et ton fstab ?

Merci

Gaby

----------

## _KdZ

Bonsoir, 

FSTAB : 

```
/dev/sda2    none            swap            sw              0 0

/dev/sda3    /boot    ext3    defaults       1 2

/dev/sda4    /    ext3    defaults       0 1

none        /proc     proc    defaults          0 0

none        /dev/shm  tmpfs   defaults          0 0

#/dev/sda1   /mnt/MS_Vista_C/   ntfs-3g    defaults   ro,auto   0   0

```

grub.conf

```
default 0

timeout 20

splashimage=(hd0,2)/grub/splash.xpm.gz

title=Gentoo Linux (2.6.27-gentoo-r7)

root (hd0,2)

kernel /kernel-genkernel-x86-2.6.27-gentoo-r7 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda4  doscsi

initrd /initramfs-genkernel-x86-2.6.27-gentoo-r7

title=Gentoo Linux

root (hd0,2)

kernel /kernel-genkernel-x86-2.6.24-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda4  doscsi

initrd /initramfs-genkernel-x86-2.6.24-gentoo-r5

# For booting Windows

title Windows Vista Ultimate SP1

root (hd0,0)

makeactive

chainloader +1

```

merci !

----------

## depayns

 *_KdZ wrote:*   

> 
> 
> Dans mon make.conf je viens de rajouter ~x86 je dois surement recompiler maintenant...
> 
> 

 

Non non ne rajoute pas des problemes potentiels... Si tu n'etais pas en version ~ ne le rajoute pas.

En revanche si tu as des disques SATA, as tu verifie que tu as active correctement le support SATA dans ton noyau ?

----------

## Bio

Le résultat de fdisk -l que tu as donné plus tôt j'imagine que c'est celui retourné par un démarrage avec live CD. Si tes disques sont reconnus comme sda (SATA donc) par ton liveCD ce n'est pas forcément vrai pour le kernel que tu auras configuré pour ton install. Et comme dis plus haut si tu n'as pas activé le support SATA alors ton kernel reconnait le dique comme hda.

Forcément puisque dans ton fstab tu fais référence à sda ça coince...

Pour valider cette hypothèse tu peux dans un premier temps éditer ton fstab et changer sda en hda. De même dans ton grub.conf change les références à sda en hda. Si après ça tu boot alors tu sauras ce qu'il te reste à faire : remettre fstab et grub.conf à leurs valeurs d'origine puis recompiler ton kernel avec le support du SATA. Il y a de grandes chances que ton problème vienne de là

Pour être proactif pourrais tu nous donner le résultat de la commande lspci dans ton prochain post.

----------

## _KdZ

 *Bio wrote:*   

> Le résultat de fdisk -l que tu as donné plus tôt j'imagine que c'est celui retourné par un démarrage avec live CD. Si tes disques sont reconnus comme sda (SATA donc) par ton liveCD ce n'est pas forcément vrai pour le kernel que tu auras configuré pour ton install. Et comme dis plus haut si tu n'as pas activé le support SATA alors ton kernel reconnait le dique comme hda.
> 
> Forcément puisque dans ton fstab tu fais référence à sda ça coince...
> 
> Pour valider cette hypothèse tu peux dans un premier temps éditer ton fstab et changer sda en hda. De même dans ton grub.conf change les références à sda en hda. Si après ça tu boot alors tu sauras ce qu'il te reste à faire : remettre fstab et grub.conf à leurs valeurs d'origine puis recompiler ton kernel avec le support du SATA. Il y a de grandes chances que ton problème vienne de là
> ...

 

Non, c'est le résultat de ma gentoo installée et avec le kernel d'origine qui fonctionne. Si mes disques sont en SATA (j'en doute fort mais bon) pourquoi quand j'ai recompilé mon kernel avec les options par défaut ça ne fonctionnait pas non plus, le sata n'est pas actif par défaut ?

Je vais recompilé avec le module sata et essayer tes manips. Merci !

Résultats de lspci :

```
00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)

00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)

00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)

00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)

00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)

02:02.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)

02:04.0 Network controller: Texas Instruments ACX 111 54Mbps Wireless Interface

02:06.0 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20)

02:06.1 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20)

02:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)

```

----------

## _KdZ

up  :Sad: 

----------

## ghoti

Comme cela a souvent été répété sur le forum, il existe 2 drivers différents et concurrents pour la gestion des disques ATA : 

- le driver IDE (obsolète) activé par l'option "CONFIG_IDE=y" : avec ce driver, la notation des disques ATA est "/dev/hdx"

- le driver libata activé par l'option "CONFIG_ATA=y" : avec ce driver, tous les disques, SATA et PATA sont notés "/dev/sdx"

Seul un des deux doit être activé.

Ta config montre que tu as activé les 2 drivers en même temps, d'où téléscopage : les demandes d'accès aux disques sont traitées par le premier driver rencontré dans le noyau (IDE en l'occurence) et celui-ci s'attend donc à trouver la notation "/dev/hdx"

Solution : désactiver purement et simplement CONFIG_IDE puisqu'il est obsolète (et bien moins performant !).

----------

## _KdZ

ok merci, je vais recompiler alors, j'utilise le genkernel et avec le menu il m'avait pas semblé activer les deux drivers... je vais essayer de trouver l'option. merci encore !

----------

## _KdZ

Merci ça marche très bien  :Wink: 

----------

## titoucha

Et qu'as tu fait pour que sa fonctionne?

----------

## _KdZ

Encore un coup de genkernel, et j'ai complètement décoché le driver avec ide et effectivement ça fonctionne, je ne comprend pas parceque mon disque est surement pas en SATA...

Merci beaucoup pour votre aide.

----------

## kwenspc

 *_KdZ wrote:*   

> je ne comprend pas parceque mon disque est surement pas en SATA...
> 
> 

 

relis bien ce qu'a noté ghoti plus haut tu comprendras.

----------

## _KdZ

Ah oui ok c'est pata, je savais pas exactement ce que c'était en fait.

----------

