# VFS: Cannot open root device 'sda3' /Kernel?

## gbrost

Hi everyone,

i tried to get going with gentoo and after two days of trying to fix any grub problems and reconfiguring the kernel, i really need your help. I tried many of the solutions here, but nothing seems to work. 

Here is my kernel .config: 

http://pastebin.com/1kHEJHNQ

Here is my cpuinfo:

```
processor   : 0

vendor_id   : GenuineIntel

cpu family   : 6

model      : 23

model name   : Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz

stepping   : 10

cpu MHz      : 2992.529

cache size   : 6144 KB

fdiv_bug   : no

hlt_bug      : no

f00f_bug   : no

coma_bug   : no

fpu      : yes

fpu_exception   : yes

cpuid level   : 13

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable aperfmperf pni ssse3 cx16 sse4_1 hypervisor lahf_lm dts

bogomips   : 5985.05

clflush size   : 64

cache_alignment   : 64

address sizes   : 40 bits physical, 48 bits virtual

power management: 
```

My fdisk output: 

```
Disk /dev/sda: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x43e13da1

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1           5       40131   83  Linux

/dev/sda2               6          71      530145   82  Linux swap / Solaris

/dev/sda3              72        1305     9912105   83  Linux

Disk /dev/sdb: 7948 MB, 7948206080 bytes

81 heads, 10 sectors/track, 19165 cylinders

Units = cylinders of 810 * 512 = 414720 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1              11       19166     7757824    b  W95 FAT32 
```

My grub.conf:

```

default 0

timeout 30

#splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.24-r5

root (hd0,0)

kernel /boot/kernel-2.6-gentoo root=/dev/sda3

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

title Gentoo Linux (rescue)

root (hd0,0)

kernel /boot/kernel-2.6-gentoo root=/dev/sda3 init=/bin/bb

```

And here my fstab:

```

/dev/sda1             /boot            ext2              noauto,noatime       1 2

/dev/sda3             /                  ext3              noatime                  0 1

/dev/sda2             none            swap             sw                          0 0

/dev/cdrom           mnt/cdrom   auto              noauto                    0 0

proc                     /proc            proc              defaults                  0 0

```

And finally, my lspci-k output:

```

00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)

   Subsystem: VMware Virtual Machine Chipset

00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)

00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)

   Subsystem: VMware Virtual Machine Chipset

00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)

   Subsystem: VMware Virtual Machine Chipset

   Kernel driver in use: PIIX_IDE

   Kernel modules: ata_piix

00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)

   Subsystem: VMware Virtual Machine Chipset

00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)

   Subsystem: VMware Virtual Machine Communication Interface

00:0f.0 VGA compatible controller: VMware SVGA II Adapter

   Subsystem: VMware SVGA II Adapter

00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)

   Subsystem: VMware LSI Logic Parallel SCSI Controller

   Kernel driver in use: mptspi

   Kernel modules: mptspi

00:11.0 PCI bridge: VMware PCI bridge (rev 02)

00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)

00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)

00:15.2 PCI bridge: VMware PCI Express Root Port (rev 01)

00:15.3 PCI bridge: VMware PCI Express Root Port (rev 01)

00:15.4 PCI bridge: VMware PCI Express Root Port (rev 01)

00:15.5 PCI bridge: VMware PCI Express Root Port (rev 01)

00:15.6 PCI bridge: VMware PCI Express Root Port (rev 01)

00:15.7 PCI bridge: VMware PCI Express Root Port (rev 01)

00:16.0 PCI bridge: VMware PCI Express Root Port (rev 01)

00:16.1 PCI bridge: VMware PCI Express Root Port (rev 01)

00:16.2 PCI bridge: VMware PCI Express Root Port (rev 01)

00:16.3 PCI bridge: VMware PCI Express Root Port (rev 01)

00:16.4 PCI bridge: VMware PCI Express Root Port (rev 01)

00:16.5 PCI bridge: VMware PCI Express Root Port (rev 01)

00:16.6 PCI bridge: VMware PCI Express Root Port (rev 01)

00:16.7 PCI bridge: VMware PCI Express Root Port (rev 01)

00:17.0 PCI bridge: VMware PCI Express Root Port (rev 01)

00:17.1 PCI bridge: VMware PCI Express Root Port (rev 01)

00:17.2 PCI bridge: VMware PCI Express Root Port (rev 01)

00:17.3 PCI bridge: VMware PCI Express Root Port (rev 01)

00:17.4 PCI bridge: VMware PCI Express Root Port (rev 01)

00:17.5 PCI bridge: VMware PCI Express Root Port (rev 01)

00:17.6 PCI bridge: VMware PCI Express Root Port (rev 01)

00:17.7 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.0 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.1 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.2 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.3 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.4 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.5 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01)

00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01)

02:00.0 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB

   Subsystem: VMware Virtual Machine Chipset

   Kernel driver in use: uhci_hcd

   Kernel modules: uhci-hcd

02:01.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)

   Subsystem: Advanced Micro Devices [AMD] PCnet - Fast 79C971

   Kernel driver in use: pcnet32

   Kernel modules: pcnet32

02:02.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)

   Subsystem: Ensoniq Creative Sound Blaster AudioPCI64V, AudioPCI128

   Kernel driver in use: ENS1371

   Kernel modules: snd-ens1371

02:03.0 USB Controller: VMware USB2 EHCI Controller

   Subsystem: VMware USB2 EHCI Controller

   Kernel driver in use: ehci_hcd

   Kernel modules: ehci-hcd 

```

I hope i included all information that is needed.

Thanks in advance for any help!

Gerd

----------

## NeddySeagoon

gbrost,

Welcome to Gentoo.

Your exact error message would have been useful but we can provide a few pointers.

Looking at your kernel, 

```
# CONFIG_IDE is not set
```

is good - you are planning to use the libata drivers.#

```
CONFIG_BLK_DEV_SD=y

CONFIG_BLK_DEV_SR=y

CONFIG_CHR_DEV_SG=y
```

is also good - thats the high level scsi drivers.

```
CONFIG_ATA_VERBOSE_ERROR=y
```

is a source of logspam - you probably want to turn that off but its not a boot issue.

```
CONFIG_SATA_AHCI=y

CONFIG_SATA_AHCI_PLATFORM=y
```

are not needed vmware does not emulate AHCI interfaces, so its just bloat.

Your emulated PATA interface is  

```
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) 
```

which you correctly have 

```
CONFIG_ATA_PIIX=y
```

set for. No other options in that menu and its children are required.

You also have an emulated 

```
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
```

 You have the 

```
CONFIG_FUSION=y
```

menu on but the drivers below it are all off 

```
# CONFIG_FUSION_SPI is not set

# CONFIG_FUSION_FC is not set

# CONFIG_FUSION_SAS is not set
```

Reading the kernel help shows you need 

```
  │ │    --- Fusion MPT device support                             │ │  

  │ │    <*>   Fusion MPT ScsiHost drivers for SPI (NEW)
```

if your root is on the emulated SCSI adapter.

Looking at your filesystems you have 

```
CONFIG_EXT2_FS=y

CONFIG_EXT3_FS=y

CONFIG_JBD=y
```

Your fstab says root is ext3, so thats ok.

Note:its a bit of a waste putting a journaled filesystem like ext3 in a file that is itself hosted on a journaled filesystem. Think about it.

ext3 is ok about it but doin't do it with reiserfs.

I suspect that your root is on the SCSI which has the kernel driver missing.

----------

## gbrost

NeddySeagoon, thank you for your analysis. This is what has been missing. Cool  :Smile: 

The strange thing is:

When i got to /usr/src/linux and run make menuconfig, some sub-items are just not there. So i did not even see the subtree

```
--- Fusion MPT device support                             │ │ 

  │ │    <*>   Fusion MPT ScsiHost drivers for SPI (NEW)
```

When i run make menuconfig in the linux-2.6....-gentoo folder (where the linux folder is linked to, i get all the submenus entries.

What did i do not understand?

P.S.: And thanks for the advice regarding unnecessary stuff in the kernel, i optimized it according to your tips.

----------

## NeddySeagoon

gbrost,

If you read some of kernel option help, you will find statements like depends on ...   and selects ...

Often (but not always) if all the 'depends on' options are not in the right state, the options that depend will be hidden.

Likewise, many options also force the state of further options. Its no perfect but on the whole, it helps.

make menuconfig will not show hidden options, your need one of the graphical tools like make xconfig (Qt) or make gconfig (gtx)

I'm glad you are fixed now

----------

## gbrost

Hi, 

i totally understand that. I just did not get this scenario:

/usr/src/linux(this is the link to the real kernel location)/make menuconfig: Many options missing

/usr/src/linux-2.6-gentoo(realkernel location)/make menuconfig:

Many more options.

Makes no sense, does it? Since it links to a dir and uses the same .config file?

Thanks,

Gerd

----------

## NeddySeagoon

gbrost,

Nope, that makes no sense at all.  It suggests you have two kernel dirs both methods look at different kernels.

----------

## gbrost

I did have this effect a few days ago. Now everything is fine. 

However, thanks for you help  :Smile: 

----------

