# Troubleshooting: wrong selections in kernel config

## Wallsandfences

Hi,

I ran into problems with the kernel configuration on two machines. It might be the same problem (or my same misunderstanding) or the problems might be unrelated.

1) A user defined kernel (non-genkernel) runs into VFS-15: can't read root -Error during boot-up. This is commonly linked to a IDE-configuration problem, so I followed the FAQ around here and selected the correct (so I thought) drivers (I have a genkernel on this machine that boots and has the correspondig drivers in use). But the problem is still present and I have no more clues...   :Embarassed: 

2) on a second computer the user-defined kernel boots, but doesn't

- regonize a sata harddrive that is connected to a Promise raid controller (it is an older Asus P4BE -Board without another connection for serial ata) named PDC20376

- doesn't find the Broadcom NetXtreme ehternet-controller. (BCM5702X, the closest in menuconfig was NetXtreme II)

This is a multiboot-machine with Ubunutu 8.10 running, where I got the driver information via lspci. 

There is no other option in menuconfig for Broadcom, nor are there vendor-specific drivers for my raid. What can I do here?

Thanks a lot,

Rüdiger

----------

## richard.scott

when your in ubuntu see if you can do this:

```
zcat /proc/config.gz
```

If this works, it will be the running config for the ubuntu kernel.

You can then use this as your starting point for your own kernel.

Rich.

----------

## Rexilion

Also, whenever you run genkernel you can use:

```
lspci -v
```

To see which drivers are being used. You can then search those drivers in make menuconfig (by pressing the '/' button)

----------

## Wallsandfences

Rich, thanks for the hint, unfortunately, this isn't impletmented in my current ubuntu-kernel. Do I have another option?

Yes, I *used* [EDIT:] lspci, found drivers, compiled them into my kernel and it wasn't sufficient, it seems I need some driver I haven't clued yet

EDIT #2: unfortunatley, with ubuntu lspci -v does not list a 'Kernel driver in use...', rather, it lists e.g. for the raid-controller apart from vendor name and type:

'capabilities: [60] Power Management version 2'

Rüdiger

----------

## Wallsandfences

Hi,

for now, I'd like to focus on my main problem:

GRUB boots, but if I try to boot my manually configured kernel, I get the message 'VFS 15: unable to mount root fs'. All I found here and elsewhere around points to a lacking driver for my hard disk.

The system boots with a genkernel without problems, and GRUB recgnonizes the hd-partiones on its commandline, so I guess the behaviour is really due to a kernel failure.

Now things getting really over me:

With the genkernel-based gentoo running (2.6.31-r10) I get (with lspci -v): 'Kernel driver in use: SIS_IDE'

When searching for 'SIS_IDE'  (or variations on it) in menuconfig, the search modul can't find such a string. 

This really strucks me!

I already have most the IDE-options enabled, (browsing through /proc/config.gz) but with no luck so far. Where to look at now?

Rüdiger

----------

## Rexilion

Try enabling the libata (SATA) driver stack. They also include PATA (other word for IDE) drivers which are newer. You probably then need:

PATA_SIS

Don't forget to disable the old IDE stack though  :Wink:  .

----------

## dE_logics

Are you sure you build the right fs support in the kernel for the root partition?

----------

## Wallsandfences

thanks Rexilion and dE_locigs

Yes, the filesystems I use is ext3 and is enabled inline, along with ext2 just to be sure.

performing a lsmod with the genkerneld system I get a bunch of drivers at the point 'libata', among them 'pata_sis'.

Can someone offer an explanation for the string SIS_IDE?

I will try this way.

Rüdiger

(btw: making a custom kernel seemed to disturb genkernel, which coulnd't load my ethernet-device at the next boot time. I had to recompile genkernel to make it function. Any possible explanation for this?)

----------

## Rexilion

I found a SIS IDE driver that could be yours. But hey, why stick in the past?   :Very Happy: 

 *Wallsandfences wrote:*   

> (btw: making a custom kernel seemed to disturb genkernel, which coulnd't load my ethernet-device at the next boot time. I had to recompile genkernel to make it function. Any possible explanation for this?)

 

Yes, this could be caused by you building ethernet as a module and overwriting the old module directory which could mix up stuff. It is best to build necessary drivers (fs, disk controllers, sound, video, ethernet) in your kernel so that won't get in the way anymore  :Smile:  .

----------

## NeddySeagoon

Wallsandfences,

If you want to build your own kernel and make it boot, we need your lspci output and exact error messages.

If you want a good starting point, try one of Pappys Seeds. The documentation guides you through adding in support for your hardware. See Pappys sig. Post Kernel Seeds questions in that thread too

----------

## cach0rr0

just posting here to spam my signature so you don't have to go hunting for info

first link is to Pappy's site, second is to a page where you can paste your lspci -n output and see what drivers to include, third is..well, yeah

----------

## Wallsandfences

ok, here is my lspci -v output:

```
Lillebie / # lspci -v | more

00:00.0 Host bridge: Silicon Integrated Systems [SiS] 650/M650 Host (rev 01)

        Subsystem: Silicon Integrated Systems [SiS] 650/M650 Host

        Flags: bus master, medium devsel, latency 32

        Memory at e0000000 (32-bit, non-prefetchable) [size=64M]

        Capabilities: [c0] AGP version 2.0

00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP) (prog-i

f 00 [Normal decode])

        Flags: bus master, fast devsel, latency 64

        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32

        Memory behind bridge: e8000000-e9ffffff

        Prefetchable memory behind bridge: e4000000-e7ffffff

00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS962 [MuTIOL Media IO] (rev 04)

        Flags: bus master, medium devsel, latency 0

00:02.1 SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller

        Flags: medium devsel

        I/O ports at 5c00 [size=32]

00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (prog-if 80 [Master])

        Subsystem: Silicon Integrated Systems [SiS] SiS5513 EIDE Controller (A,B step)

        Flags: bus master, medium devsel, latency 128

        [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8]

        [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1]

        [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8]

        [virtual] Memory at 00000370 (type 3, non-prefetchable) [size=1]

        I/O ports at f000 [size=16]

        Kernel driver in use: SIS_IDE

00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller

 (rev a0)

        Subsystem: Giga-byte Technology Device a002

        Flags: bus master, medium devsel, latency 32, IRQ 18

        I/O ports at d800 [size=256]

        I/O ports at dc00 [size=128]

        Capabilities: [48] Power Management version 2

        Kernel driver in use: Intel ICH

```

This is the kernel panic message:

```

[ 3.051685] VFS: Cannot open root device "hda3" or unknown-block(0,0)

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

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

```

Thanks,

Rüdiger

----------

## cach0rr0

still missing support for your hard disk controller 

and from what i can tell still using the old drivers

can you dump your kernel .config onto pastebin, and show us your lspci -n output?

----------

## Wallsandfences

This is my lspci -n:

```
00:00.0 0600: 1039:0650 (rev 01)

00:01.0 0604: 1039:0001

00:02.0 0601: 1039:0962 (rev 04)

00:02.1 0c05: 1039:0016

00:02.5 0101: 1039:5513

00:02.7 0401: 1039:7012 (rev a0)

00:03.0 0c03: 1039:7001 (rev 0f)

00:03.1 0c03: 1039:7001 (rev 0f)

00:03.2 0c03: 1039:7001 (rev 0f)

00:03.3 0c03: 1039:7002

00:10.0 0200: 10ec:8139 (rev 10)

01:00.0 0300: 10de:0182 (rev a2)
```

How do I dumb my kernel .config into pastbin (what is the latter?)

Rüdiger

EDIT: I put it onto pappy's (a fine resource, by the way) but there where no surprises for me

----------

## Hu

 *cach0rr0 wrote:*   

> and from what i can tell still using the old drivers

 Maybe.  Certainly, his kernel command line is written to assume use of the old drivers.  That will cause a problem when he gets the new drivers in and the correct name is no longer hda3. *Wallsandfences wrote:*   

> How do I dumb my kernel .config into pastbin (what is the latter?)

 A pastebin is a site which provides temporary public storage of content.  Use it to host kernel configuration files, error messages, or any other content you want to share with the world, but which is too large to be comfortably managed in a forum post.  The tool wgetpaste can simplify using a pastebin from minimal environments.

----------

## Wallsandfences

I'm running out of time and the system with the unloadable custom kernel is needed, so I will stick with genkernel for now.

I will come back fiddeling with the other machine, but no sooner than in about two weeks.

Thanks for all the help so far, for sure it wasn't wasted, I definitly want the custom kernel for the 2nd machine!

Rüdiger

EDIT: I solved the prob with my 2nd machine (net and raid)! The solution arised when I mapped some brain processing time on the fact, that lsmod gave me no echo. Need I say more? I took a config from pappy, inserted the results of lspci -n, gave the kernel a local designator (menuconfig -> General options -> localisation (or the like) et voilá! Up we are.

I'm happy, and your help is linked to that happieness!   :Razz: 

RüdigerLast edited by Wallsandfences on Wed Mar 31, 2010 9:48 pm; edited 1 time in total

----------

## NeddySeagoon

Wallsandfences,

We will still be here

----------

## Wallsandfences

Oops, new post!

here is my Edit of my previous post for clarity:

I solved the prob with my 2nd machine (net and raid)! The solution arised when I mapped some brain processing time on the fact, that lsmod gave me no echo. Need I say more? I took a config from pappy, inserted the results of lspci -n, gave the kernel a local designator (menuconfig -> General options -> localisation (or the like) et voilá! Up we are.

I'm happy, and your help is linked to that happieness!  :Razz: 

Rüdiger

----------

