# [SOLVED] Kernel panic - VFS can't open root device

## angry_arctic_avian

I tried to build the most recent kernel (2.6.38-gentoo-r6) that portage handed me for my x86 system. I have had no problems configuring previous kernels, yet everything I have tried still leaves me unable to boot into the new kernel. Here is the outpout from the kernel panic, typed from a pic I took from my phone:

```

VFS: Cannot open root device "(null)" or unknown-block(8,3)

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

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

Pid: 1, com: swapper not tainted 2.6.38-gentoo-r6 

#Some of the following output omitted since it was unclear in picture.

Call Trace:

  ? panic

  ? mount_block_root

  ? sys_mknod

  ? mount_root

  ? prepare_namespce

  ? sys_access

  ? kernel_init

  ? kernel_init

  ? kernel_thread_helper

```

My system is split up on two ATA hard drives, the first containing multiple partitions, the second one holding my /home/ folder. My root partitions is on /dev/sda3 on the first hard drive. Here is my grub.conf: 

```

default 0

timeout 5

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

title Gentoo Linux 2.6.38-r6      #This won't boot

root (hd0,0)

kernel /boot/kernel-2.6.38-gentoo-r6 root/dev/sda3

title Gentoo Linux 2.6.36-r5       #This will boot

root (hd0,0)

kernel /boot/kernel-2.6.36-gentoo-r5 root/dev/sda3

title Gentoo Linux 2.6.31-r6 

root (hd0,0)

kernel /boot/kernel-2.6.31-gentoo-r6 root=/dev/sda3

title Gentoo Linux 2.6.30-r8 (rescue)

root (hd0,0)

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

```

I filled out the grub option for the new kernel just as I had for the previous. I would add the output from the kernel configuration of 2.6.38, but I forgot the code that I found from my earlier attempts to find a solution to this problem. If someone can provide me with the means to display that output, I will provide what options I chose for ATA and SCSI configuration. As always any help is appreciated.Last edited by angry_arctic_avian on Thu Jun 16, 2011 3:46 pm; edited 1 time in total

----------

## Aquous

You forgot to compile in support for your root filesystem into the kernel.

----------

## angry_arctic_avian

I believe I found the code that I mentioned in my previous post:

```

less /usr/src/linux/.config | grep SCSI && less /usr/src/linux/.config | grep ATA

# SCSI device support

CONFIG_SCSI_MOD=y

CONFIG_SCSI=y

CONFIG_SCSI_DMA=y

# CONFIG_SCSI_TGT is not set

# CONFIG_SCSI_NETLINK is not set

CONFIG_SCSI_PROC_FS=y

# SCSI support type (disk, tape, CD-ROM)

CONFIG_SCSI_MULTI_LUN=y

CONFIG_SCSI_CONSTANTS=y

# CONFIG_SCSI_LOGGING is not set

CONFIG_SCSI_SCAN_ASYNC=y

CONFIG_SCSI_WAIT_SCAN=m

# SCSI Transports

CONFIG_SCSI_SPI_ATTRS=y

# CONFIG_SCSI_FC_ATTRS is not set

# CONFIG_SCSI_ISCSI_ATTRS is not set

# CONFIG_SCSI_SAS_ATTRS is not set

# CONFIG_SCSI_SAS_LIBSAS is not set

# CONFIG_SCSI_SRP_ATTRS is not set

# CONFIG_SCSI_LOWLEVEL is not set

# CONFIG_SCSI_DH is not set

# CONFIG_SCSI_OSD_INITIATOR is not set

# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may

# CONFIG_ISCSI_IBFT_FIND is not set

CONFIG_RELOCATABLE=y

# CONFIG_ATALK is not set

# CONFIG_MTD_DATAFLASH is not set

# CONFIG_ATA_OVER_ETH is not set

CONFIG_IDE_ATAPI=y

# CONFIG_BLK_DEV_IDE_SATA is not set

CONFIG_IDE_GD_ATA=y

# CONFIG_IDE_GD_ATAPI is not set

CONFIG_ATA=y

# CONFIG_ATA_NONSTANDARD is not set

CONFIG_ATA_VERBOSE_ERROR=y

CONFIG_ATA_ACPI=y

# CONFIG_SATA_PMP is not set

# CONFIG_SATA_AHCI is not set

# CONFIG_SATA_AHCI_PLATFORM is not set

# CONFIG_SATA_INIC162X is not set

# CONFIG_SATA_ACARD_AHCI is not set

# CONFIG_SATA_SIL24 is not set

CONFIG_ATA_SFF=y

# CONFIG_SATA_QSTOR is not set

# CONFIG_SATA_SX4 is not set

CONFIG_ATA_BMDMA=y

# SATA SFF controllers with BMDMA

# CONFIG_ATA_PIIX is not set

# CONFIG_SATA_MV is not set

# CONFIG_SATA_NV is not set

# CONFIG_SATA_PROMISE is not set

# CONFIG_SATA_SIL is not set

# CONFIG_SATA_SIS is not set

# CONFIG_SATA_SVW is not set

# CONFIG_SATA_ULI is not set

# CONFIG_SATA_VIA is not set

# CONFIG_SATA_VITESSE is not set

# PATA SFF controllers with BMDMA

# CONFIG_PATA_ALI is not set

# CONFIG_PATA_AMD is not set

# CONFIG_PATA_ARTOP is not set

# CONFIG_PATA_ATIIXP is not set

# CONFIG_PATA_ATP867X is not set

# CONFIG_PATA_CMD64X is not set

# CONFIG_PATA_CS5520 is not set

# CONFIG_PATA_CS5530 is not set

# CONFIG_PATA_CS5535 is not set

# CONFIG_PATA_CS5536 is not set

# CONFIG_PATA_CYPRESS is not set

# CONFIG_PATA_EFAR is not set

# CONFIG_PATA_HPT366 is not set

# CONFIG_PATA_HPT37X is not set

# CONFIG_PATA_HPT3X2N is not set

# CONFIG_PATA_HPT3X3 is not set

# CONFIG_PATA_IT8213 is not set

# CONFIG_PATA_IT821X is not set

# CONFIG_PATA_JMICRON is not set

# CONFIG_PATA_MARVELL is not set

# CONFIG_PATA_NETCELL is not set

# CONFIG_PATA_NINJA32 is not set

# CONFIG_PATA_NS87415 is not set

CONFIG_PATA_OLDPIIX=y

# CONFIG_PATA_OPTIDMA is not set

# CONFIG_PATA_PDC2027X is not set

# CONFIG_PATA_PDC_OLD is not set

# CONFIG_PATA_RADISYS is not set

# CONFIG_PATA_RDC is not set

# CONFIG_PATA_SC1200 is not set

CONFIG_PATA_SCH=y

# CONFIG_PATA_SERVERWORKS is not set

# CONFIG_PATA_SIL680 is not set

# CONFIG_PATA_SIS is not set

# CONFIG_PATA_TOSHIBA is not set

# CONFIG_PATA_TRIFLEX is not set

# CONFIG_PATA_VIA is not set

# CONFIG_PATA_WINBOND is not set

# CONFIG_PATA_CMD640_PCI is not set

# CONFIG_PATA_MPIIX is not set

# CONFIG_PATA_NS87410 is not set

# CONFIG_PATA_OPTI is not set

# CONFIG_PATA_RZ1000 is not set

CONFIG_PATA_ACPI=y

CONFIG_ATA_GENERIC=y

# CONFIG_PATA_LEGACY is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set

# CONFIG_ATARI_PARTITION is not set

```

What support for my root file system are you talking about? The file systems that are formated onto my hard drives are compiled directly into the kernel.

----------

## thalcave

Do you use kernel config from 2.6.36-r5 which does work?

----------

## angry_arctic_avian

Yes, I am using my 2.6.36-r5 as I am writing this. It works, with the exception that after the aforementioned update that provided me with kernel 2.6.38-r6 seem to make alsa stop working with a boot message saying no sound card found, but I believe that is due to a configuration file as well as a different topic.

----------

## angry_arctic_avian

Sorry might have mis-read that. If you meant did I copy the config from 2.6.36-5 to 2.6.38-r6, then no, I configured from scratch like I normally do.

----------

## illuminated

Here you go

https://forums.gentoo.org/viewtopic-p-4570091.html#4570091

----------

## thalcave

So my guess is that you forgot compile drivers for your ata/sata controller

----------

## angry_arctic_avian

Wow, do I feel dumb. I guess that's what happens when you go awhile without Internet access to your desktop. Things broken on your system, and you forget important kernel configuration vital to your system. Anyway, I appreciate everyone's input on such a noob mistake. Now that my kernel is working, I can deal with all of the other hiccups in my system.

----------

