# Annoying problem with cannot open root device /unkno[SOLVED]

## NotQuiteSane

my dell inspiron 6000 gets the following error:

```
VFS: Cannot open root device "0301" or unknown-block(3,1)
```

I seached, and it looks like that error is tied to a missing device driver for the drive

relevant section of lspci -nqn says:

```
00:1f.2 IDE interface [0101]: Intel Corporation 82801FBM (ICH6M) SATA Controller [8086:2653] (rev 03)
```

http://kmuto.jp/debian/hcl/index.rhtmlx says that is:

```
80862653   Yes   Intel Corporation   82801FBM (ICH6M) SATA Controller   ahci,ata_piix   v2.6.25-
```

grepping .config gives:

```
root@sysresccd /root % cat /mnt/gentoo/boot/config-2.6.29-zen1-12may09-1| grep -i ahci

CONFIG_SATA_AHCI=y

root@sysresccd /root % cat /mnt/gentoo/boot/config-2.6.29-zen1-12may09-1| grep -i piix

CONFIG_BLK_DEV_PIIX=y

CONFIG_ATA_PIIX=y

CONFIG_PATA_MPIIX=y

CONFIG_PATA_OLDPIIX=y

# CONFIG_I2C_PIIX4 is not set
```

i'm using xfs

```
root@sysresccd /root % cat /mnt/gentoo/boot/config-2.6.29-zen1-12may09-1| grep XFS

CONFIG_XFS_FS=y

CONFIG_XFS_QUOTA=y

CONFIG_XFS_POSIX_ACL=y

CONFIG_XFS_RT=y

CONFIG_XFS_DEBUG=y

# CONFIG_VXFS_FS is not set
```

i can't figure out why my machine won't boot.  help?

NQS

----------

## tpg

I have the same probelm pretty much, cant give much details now as im posting from work, and at home currently installing the 32bit version instead of the 64bit where I had this problem(Ill go home and try 64bit again).

I had this problem with the vanilla-sources-2.6.29.3 kernel on an amd64 system.

I have the JMicron SATA controller, its freaking easy to find in the kernel configuration thing, If I dont enable this in 32bit I get the same message.. its quite weird that im having this now  :Sad: 

----------

## NotQuiteSane

 *tpg wrote:*   

> I have the same probelm pretty much, cant give much details now as im posting from work, and at home currently installing the 32bit version instead of the 64bit where I had this problem(Ill go home and try 64bit again).
> 
> I had this problem with the vanilla-sources-2.6.29.3 kernel on an amd64 system.
> 
> I have the JMicron SATA controller, its freaking easy to find in the kernel configuration thing, If I dont enable this in 32bit I get the same message.. its quite weird that im having this now 

 

any progress on it?

I can get older kernels (*.26 ara) to toad, but then those have a conflict with lvm

NQS

----------

## krinn

 *NotQuiteSane wrote:*   

> 
> 
> ```
> VFS: Cannot open root device "0301" or unknown-block(3,1)
> ```
> ...

 

it could also mean that you are trying to mount from a non existant disk as your root partition.

And people "used" to fail with a message more like

```
VFS: Cannot open root device "hda1" or unknown-block(0,0)
```

and not an "0301" harddisk.

So, recheck your root= (or realroot) from grub.conf for a valid harddisk (uhci or newest PIIX ata named drives as sd for example)

----------

## NotQuiteSane

ok, i've tried various combinations of "root", "realroot", "real_root" and "real-root" paired with "sda1", "hda1", "/dev/sda1" and "/dev/hda1"

relevant section of grub looks like:

```
title gentoo

root (hd0,1)

kernel /vmlinuz root=/dev/hda1
```

/boot is on a usb key, hda has /root, 2 swap partitions (one for tux on ice), and a lvm partition

NQS

----------

## Hu

As krinn said, newer kernels use sd names for that driver, not hd.  You need to update your grub.conf.  You say you already tried that, but without knowing the exact combinations you tried, we need to start over.

Please post the exact error message, including at least 6 lines of context before the panic.  Post the kernel command line that you used for that failure scenario.

----------

## NotQuiteSane

ok, starting with root=/dev/sda1

```
NET: Registered protocl family 17

Using IPI Shortcut mode

Replacing swsusp

ToxOnIce core not loaded yet

input: AT Translated Set 2 keyboard as /class/input/input0

  Magic number 9:481:702

VFS: C annot open root device "sda1" or unknown-block(0,0)

Please append a correct "root'=" boot option; here are the avadiable partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
```

root=/dev/hda1:

```
NET: Registered protocl family 17

Using IPI Shortcut mode

Replacing swsusp

ToxOnIce core not loaded yet

input: AT Translated Set 2 keyboard as /class/input/input0

  Magic number 9:584:803

VFS: C annot open root device "hda1" or unknown-block(0,0)

Please append a correct "root'=" boot option; here are the avadiable partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
```

realroot=/dev/sda1:

```
NET: Registered protocl family 17

Using IPI Shortcut mode

Replacing swsusp

ToxOnIce core not loaded yet

input: AT Translated Set 2 keyboard as /class/input/input0

  Magic number 9:584:803

VFS: C annot open root device "<NULL>" or unknown-block(3,1)

Please append a correct "root'=" boot option; here are the avadiable partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)
```

realroot=/dev/hda1:

```
NET: Registered protocl family 17

Using IPI Shortcut mode

Replacing swsusp

ToxOnIce core not loaded yet

input: AT Translated Set 2 keyboard as /class/input/input0

  Magic number 9:687:904

VFS: C annot open root device "<NULL>" or unknown-block(3,1)

Please append a correct "root'=" boot option; here are the avadiable partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)
```

real-root=/dev/sda1

```
NET: Registered protocl family 17

Using IPI Shortcut mode

Replacing swsusp

ToxOnIce core not loaded yet

input: AT Translated Set 2 keyboard as /class/input/input0

  Magic number 9:687:904

VFS: C annot open root device "<NULL>" or unknown-block(3,1)

Please append a correct "root'=" boot option; here are the avadiable partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)
```

real-root=/dev/hda1:

```
NET: Registered protocl family 17

Using IPI Shortcut mode

Replacing swsusp

ToxOnIce core not loaded yet

input: AT Translated Set 2 keyboard as /class/input/input0

  Magic number 9:240:955

VFS: C annot open root device "<NULL>" or unknown-block(3,1)

Please append a correct "root'=" boot option; here are the avadiable partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)
```

real_root=/dev/sda1:

```
NET: Registered protocl family 17

Using IPI Shortcut mode

Replacing swsusp

ToxOnIce core not loaded yet

input: AT Translated Set 2 keyboard as /class/input/input0

  Magic number 9:240:955

tty ttye4: hash matches

pnp 00:07: hash matches

VFS: C annot open root device "<NULL>" or unknown-block(3,1)

Please append a correct "root'=" boot option; here are the avadiable partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)
```

real_root=/dev/hda1:

```
NET: Registered protocl family 17

Using IPI Shortcut mode

Replacing swsusp

ToxOnIce core not loaded yet

input: AT Translated Set 2 keyboard as /class/input/input0

  Magic number 9:966:97

VFS: C annot open root device "<NULL>" or unknown-block(3,1)

Please append a correct "root'=" boot option; here are the avadiable partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)
```

i compiled a new kernel today, adding in a couple of generic ATA drivers.  will post link to .config in a few moments

NQS

----------

## NotQuiteSane

kernal .config is here.

NQS

----------

## jburns

The real_root= parameter only works if the kernel was built using genkernel.

Your kernel is configured with both the old IDE drivers and the new sata/pata drivers.

CONFIG_IDE=y should not be selected.

The following should be selected if you have a CD/DVD drive

# CONFIG_BLK_DEV_SR is not set

# CONFIG_CHR_DEV_SG is not set

Change /dev/hd... to /dev/sd... on the kernel command line and in /etc/fstab

----------

## NotQuiteSane

 *jburns wrote:*   

> The real_root= parameter only works if the kernel was built using genkernel.
> 
> Your kernel is configured with both the old IDE drivers and the new sata/pata drivers.
> 
> CONFIG_IDE=y should not be selected.
> ...

 

The last two look like scsi options so i set them as modules.

made other changes as indicated.  

am getting the same kind of error

NQS

----------

## jburns

CONFIG_BLK_DEV_SD=m should be CONFIG_BLK_DEV_SD=y  It is need to access the disk.

The sata/pata drivers use the SCSI support routines.  CONFIG_BLK_DEV_SR and CONFIG_CHR_DEV_SG can be modules but CONFIG_BLK_DEV_SD must be built into the kernel because it is needed to load the modules.

----------

## krinn

 *NotQuiteSane wrote:*   

> 
> 
> /boot is on a usb key
> 
> 

 

usb key are also name sd? by linux kernel (also handle as scsi if you prefer) and considering you are booting with a grub hd(0,1) i suppose your usb key is handle as 1st harddisk.

This mean you're "real" harddisk would be the 2nd, so it will be sdb.

But instead of guessing like you've done, while you're in grub you should push e key (edit) so grub might help you find out where is your root partition, by doing hd( then push TAB it will list visible harddisk and partition...

if you're sure your root is on the 1st partition of your harddisk, you may just try /dev/sdb1 as root

----------

## NotQuiteSane

 *jburns wrote:*   

> CONFIG_BLK_DEV_SD=m should be CONFIG_BLK_DEV_SD=y  It is need to access the disk.
> 
> The sata/pata drivers use the SCSI support routines.  CONFIG_BLK_DEV_SR and CONFIG_CHR_DEV_SG can be modules but CONFIG_BLK_DEV_SD must be built into the kernel because it is needed to load the modules.

 

The good news is that solved it.  Thanks to you and everyo9ne else who assisted.

The bad news is not only am I stil having baselayout /lvm issues, but i'm getting kernel oops re: xfs.   i'm gonna post the i8nfo on the latter in the zen support thread momentarly.

NQS

----------

