# Problem booting SDA with >=gentoo-sources-2.6.19-r5

## NeoRiddle

Hi

When I try to boot my new kernel it shows a panic kernel messange like this:

```
VFS: Cannot open root device "sda7" or unknown-block(8,7). 

Please append a correct "root=" boot option. 

Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,7).
```

my grub.conf is this:

```
neobalam linux # cat /boot/grub/menu.lst

default 0

timeout 30

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

title=Gentoo (kernel 2.6.18-gentoo-r6)

root(hd0,4)

kernel /linux-2.6.18-gentoo-r6 root=/dev/sda7

title=Gentoo (kernel 2.6.19-gentoo-r5)

root(hd0,4)

kernel /linux-2.6.19-gentoo-r5 root=/dev/sda7

neobalam linux #
```

I DID NOT use genkernel, if you want a part of my .config file, tell me please.

Thank you.

----------

## DaggyStyle

it has been addressed allready, boot into an working image, run make menuconfig and look for sata/pata under device drivers, there just check the appropriate driver, compile the kernel and reboot. this should solve it.

----------

## NeoRiddle

how can I known which is the correct SATA driver that I need?

because i active all "stable" SATA drivers, including Intel ones (I have Intel).

```
neobalam  # cat .config |grep -i "SATA"

# CONFIG_BLK_DEV_IDE_SATA is not set

CONFIG_SATA_AHCI=y

CONFIG_SATA_SVW=y

# CONFIG_SATA_MV is not set

CONFIG_SATA_NV=y

CONFIG_SATA_QSTOR=y

CONFIG_SATA_PROMISE=y

CONFIG_SATA_SX4=y

CONFIG_SATA_SIL=y

CONFIG_SATA_SIL24=y

CONFIG_SATA_SIS=y

CONFIG_SATA_ULI=y

CONFIG_SATA_VIA=y

CONFIG_SATA_VITESSE=y

CONFIG_SATA_INTEL_COMBINED=y

neobalam  # cat .config |grep -i "intel"

CONFIG_X86_INTEL_USERCOPY=y

CONFIG_SATA_INTEL_COMBINED=y

CONFIG_AGP_INTEL=y

CONFIG_FB_INTEL=y

CONFIG_FB_INTEL_DEBUG=y

CONFIG_FB_INTEL_I2C=y

CONFIG_SND_HDA_INTEL=y

CONFIG_SND_INTEL8X0=y

CONFIG_SND_INTEL8X0M=y

CONFIG_INTEL_IOATDMA=y

neobalam  #
```

```
neobalam  # lspci

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)

00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)

00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)

00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)

00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01)

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)

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

00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01)

00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01)

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)

03:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832

03:01.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)

03:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)

03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)

03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)

0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

neobalam  # 
```

----------

## aidanjt

libata has been moved in the kernel configuration as of 2.6.19, it's now outside the SCSI tree, in the Device Drivers, under SATA and PATA support, or some such, enable Intel SATA support in there.

----------

## wynn

From your lspci the correct driver is either ahci or ata_piix depending on the exact PCI device id of

```
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01)
```

I see that you have "CONFIG_SATA_AHCI=y" and, as your SATA drive isn't working, you probably want the other "CONFIG_ATA_PIIX" which is selected by "<*>   Intel PIIX/ICH SATA support".

If you run

```
lspci -n | grep '^00:1f.2'
```

you will get something like

```
00:1f.2 0101: 8086:2652 (rev 04)
```

if the number following "8086" is 27c4 then ata_piix is the correct driver: the text from plain "lspci" "Serial ATA Storage Controller IDE" makes  27c4 most likely.

You also need SCSI disk support

```
SCSI device support

<*> SCSI disk support
```

----------

## NeoRiddle

```
neobalam  # lspci -n | grep '^00:1f.2'

00:1f.2 0101: 8086:27c4 (rev 01)

neobalam  #
```

And this is my SCSI options:

```
neobalam  # cat .config | grep -i "SCSI"

CONFIG_BLK_DEV_IDESCSI=y

# SCSI device support

CONFIG_SCSI=y

CONFIG_SCSI_NETLINK=y

CONFIG_SCSI_PROC_FS=y

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

# Some SCSI devices (e.g. CD jukebox) support multiple LUNs

CONFIG_SCSI_MULTI_LUN=y

# CONFIG_SCSI_CONSTANTS is not set

# CONFIG_SCSI_LOGGING is not set

# SCSI Transports

CONFIG_SCSI_SPI_ATTRS=y

CONFIG_SCSI_FC_ATTRS=y

CONFIG_SCSI_ISCSI_ATTRS=y

# CONFIG_SCSI_SAS_ATTRS is not set

# CONFIG_SCSI_SAS_LIBSAS is not set

# SCSI low-level drivers

CONFIG_ISCSI_TCP=y

CONFIG_SCSI_3W_9XXX=y

CONFIG_SCSI_ACARD=y

CONFIG_SCSI_AACRAID=y

CONFIG_SCSI_AIC7XXX=y

CONFIG_SCSI_AIC7XXX_OLD=y

CONFIG_SCSI_AIC79XX=y

# CONFIG_SCSI_AIC94XX is not set

CONFIG_SCSI_DPT_I2O=y

CONFIG_SCSI_ADVANSYS=y

# CONFIG_SCSI_ARCMSR is not set

# CONFIG_SCSI_HPTIOP is not set

CONFIG_SCSI_BUSLOGIC=y

CONFIG_SCSI_OMIT_FLASHPOINT=y

CONFIG_SCSI_DMX3191D=y

CONFIG_SCSI_EATA=y

CONFIG_SCSI_EATA_TAGGED_QUEUE=y

CONFIG_SCSI_EATA_LINKED_COMMANDS=y

CONFIG_SCSI_EATA_MAX_TAGS=16

CONFIG_SCSI_FUTURE_DOMAIN=y

CONFIG_SCSI_GDTH=y

CONFIG_SCSI_IPS=y

CONFIG_SCSI_INITIO=y

CONFIG_SCSI_INIA100=y

# CONFIG_SCSI_STEX is not set

CONFIG_SCSI_SYM53C8XX_2=y

CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1

CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16

CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64

CONFIG_SCSI_SYM53C8XX_MMIO=y

# CONFIG_SCSI_IPR is not set

CONFIG_SCSI_QLOGIC_1280=y

CONFIG_SCSI_QLA_FC=y

# CONFIG_SCSI_QLA_ISCSI is not set

CONFIG_SCSI_LPFC=y

CONFIG_SCSI_DC395x=y

CONFIG_SCSI_DC390T=y

CONFIG_SCSI_NSP32=y

CONFIG_SCSI_DEBUG=y

# PCMCIA SCSI adapter support

CONFIG_PCMCIA_NINJA_SCSI=m

# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'

neobalam  # 
```

and Intel options:

```
neobalam  # cat .config | grep -i "intel"

CONFIG_X86_INTEL_USERCOPY=y

CONFIG_SATA_INTEL_COMBINED=y

CONFIG_AGP_INTEL=y

CONFIG_FB_INTEL=y

CONFIG_FB_INTEL_DEBUG=y

CONFIG_FB_INTEL_I2C=y

CONFIG_SND_HDA_INTEL=y

CONFIG_SND_INTEL8X0=y

CONFIG_SND_INTEL8X0M=y

CONFIG_INTEL_IOATDMA=y

neobalam  #
```

----------

## wynn

Unless you have a real SCSI disk, you don't need any of the SCSI low level drivers: CONFIG_SCSI_3W_9XXX=y down to CONFIG_SCSI_NSP32=y.

Have you got CONFIG_BLK_DEV_SD which is SCSI high level disk support (sd_mod module)? And have you got CONFIG_ATA_PIIX (ata_piix module).

The PCI device id 27c4 shows that ata_piix is the correct driver.

----------

## NeoRiddle

how can i know the "SCSI high level disk support" (sd_mod module)?

----------

## wynn

 *NeoRiddle wrote:*   

> how can i know the "SCSI high level disk support" (sd_mod module)?

 grep for CONFIG_BLK_DEV_SD in .config

----------

## theruck

are you booting with the doscsi parameter?

----------

## NeoRiddle

```
neobalam linux # cat .config | grep CONFIG_BLK_DEV_SD

CONFIG_BLK_DEV_SD=y

neobalam linux #
```

and the doscsi parameter, I don't know, but How can I know that?

----------

## theruck

it's the boot loader parameter

if you are using genkernel and an initramfs image you have to add the "doscsi" into the append line of your lilo.conf or something simmilar if you are using grub

----------

## NeoRiddle

how can i must put parameters to make it work?

i have it like this now:

```
title=Gentoo (kernel 2.6.19-gentoo-r5)

root(hd0,4)

kernel /linux-2.6.19-gentoo-r5 root=/dev/sda7

```

----------

