# [SOLVED] Kernel Panic - not syncing: VFS (again)

## Hadret

Hello!

Recently I started to play with my kernel config to optimize it for my machine. I've downloaded vanilla kernel 2.6.35.tar.bz2 (not 2.6.35.x) as I need this particular version, then downloaded 2.6.35-zen2.patch.lzma from zen-kernel.org. I unpacked and patched kernel sources without issues, then I decided to use kernel-seeds, as it was suggested here. I've downloaded 2.6.35-zen2-x86_64-07.config seed for x86_64 architecture and "applied" it on my kernel source as a base. Then I moved to instructions from Working with Pappy's Kernel Seeds. Everything went quite good, but I stuck with one error regardless changes I was making in .config (I'll elaborate on that one a bit more later on):

```
microcode: no support for the CPU vendor

Root-NFS: No NFS server available, giving up.

VFS: Unable to mount root fs via NFS, trying floppy.

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

I was Googling this error for few hours and it's driving me crazy. I've found few answers on this forums (e.g. Kernel Panic - not syncing: VFS: Unable to mount root fs...) and I was changing .config to all suggestions posted there (of course I wasn't changing them blindly, but as needed for my hardware). It didn't really matter as error persist. That's why I decided to create another topic, cause I figured that there might be something else wrong, that causes this error, and I can't see it. Here are my hardware details:

Motherboard: ASUS P5QL-E (Sata II disks [there are two], they are set as AHCI in BIOS).

Disks: 1. 250 GB Seagate (Sata II, primary), 2. 80 GB WDC (Sata II, secondary) and 3. DVD-burner (some Lite-On).

```
$ lspci -n

00:00.0 0600: 8086:2e20 (rev 03)

00:01.0 0604: 8086:2e21 (rev 03)

00:1a.0 0c03: 8086:3a37

00:1a.1 0c03: 8086:3a38

00:1a.2 0c03: 8086:3a39

00:1a.7 0c03: 8086:3a3c

00:1b.0 0403: 8086:3a3e

00:1c.0 0604: 8086:3a40

00:1c.4 0604: 8086:3a48

00:1c.5 0604: 8086:3a4a

00:1d.0 0c03: 8086:3a34

00:1d.1 0c03: 8086:3a35

00:1d.2 0c03: 8086:3a36

00:1d.7 0c03: 8086:3a3a

00:1e.0 0604: 8086:244e (rev 90)

00:1f.0 0601: 8086:3a16

00:1f.2 0106: 8086:3a22

00:1f.3 0c05: 8086:3a30

01:00.0 0300: 10de:0141 (rev a2)

02:00.0 0200: 1969:1026 (rev b0)

03:00.0 0106: 197b:2363 (rev 03)

03:00.1 0101: 197b:2363 (rev 03)

05:03.0 0c00: 11c1:5811 (rev 70)
```

```
$ cat /proc/cpuinfo

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 23

model name      : Intel(R) Core(TM)2 Duo CPU     E7600  @ 3.06GHz

stepping        : 10

cpu MHz         : 3066.957

cache size      : 3072 KB

physical id     : 0

siblings        : 2

core id         : 0

cpu cores       : 2

apicid          : 0

initial apicid  : 0

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 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority

bogomips        : 6133.91

clflush size    : 64

cache_alignment : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor       : 1

vendor_id       : GenuineIntel

cpu family      : 6

model           : 23

model name      : Intel(R) Core(TM)2 Duo CPU     E7600  @ 3.06GHz

stepping        : 10

cpu MHz         : 3066.957

cache size      : 3072 KB

physical id     : 0

siblings        : 2

core id         : 1

cpu cores       : 2

apicid          : 1

initial apicid  : 1

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 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority

bogomips        : 6133.11

clflush size    : 64

cache_alignment : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:
```

```
$ cat /etc/fstab

proc            /proc           proc    defaults        0       0

/dev/mapper/duckbill-root /               ext4    noatime,errors=remount-ro 0       1

# /boot was on /dev/sda1 during installation

UUID=d26b4436-1939-4d55-b055-0d1c2efe4d27 /boot           ext2    noatime         0       2

/dev/mapper/duckbill-home /home           ext4    noatime         0       2

/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
```

(Yes, I'm using LVM on root and home partitions with ext4 FS, no LVM and ext2 on /boot partition, I don't use swap partition at all and I haven't got secondary disk in fstab as I use it only to run some tests out there so I basically mount it on my primary OS only when I need it).

I didn't knew how to post information provided by device driver check & report so I just made screenshot of it and put it here this way: URL=http://wstaw.org/m/2010/11/19/lspci.png.

My .config file is definitely too long to put it here in /code's, so it can be found here: http://wklej.org/id/421839/.

I'm looking for any clues, why this error persists, what I'm doing wrong and why this isn't working.Last edited by Hadret on Sat Nov 20, 2010 10:57 am; edited 2 times in total

----------

## idella4

Hadret

 *Quote:*   

> 
> 
> │ │               Processor family (Core 2/newer Xeon)  --->                                    │ │   
> 
>   │ │           [ ] Generic x86 support                                                           │ │   
> ...

 

 *Quote:*   

> 
> 
>  ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ │   
> 
>   │ │           --- Supported processor vendors                                                   │ │   
> ...

 

Give me some time to look at this more closely, but look at the above, the sort of setting that pappy wouldn't normally supply as the norm.

This is from the most recent vanilla 2.6.37_rc2, but it will apply to others.   You must have something set that depends upon this entry which is absent.

Check it first, re-post if you have it set already.

----------

## Hadret

Thanks a lot for your answer!

 *Quote:*   

> ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ │
> 
> │ │ --- Supported processor vendors │ │
> 
> │ │ [*] Support Intel processors │ │
> ...

 

I enabled it (you can find my updated .config file below) but it didn't really change a thing. Under Processor type and features --> /dev/cpu/microcode I checked Intel microcode patch loading support. Thanks to this I now haven't got first line of kernel panic error, this one specifically:

```
microcode: no support for the CPU vendor
```

But the rest is still there:

```
Root-NFS: No NFS server available, giving up.

VFS: Unable to mount root fs via NFS, trying floppy.

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

My new .config file is here: http://wklej.org/id/422036/.

Some settings may have been changed by additional Zen options -- I switched its value from Custom (which was default in pappy's .config) to Desktop.

----------

## idella4

Hadret

 *Quote:*   

> 
> 
> Thanks to this I now haven't got first line of kernel panic error, this one specifically: 
> 
> 

 

ok, that worked.  That's one down.  Clearly it just moved onto the next stumbling point.  What is your system fs?

I shall test your kernel config

----------

## Hadret

It's ext4 + LVM on / and /home partitions, ext2 without LVM on /boot and no swap partition (at all). You can also find my /etc/fstab in the first post (:

----------

## idella4

Is there any reason tour system would have a problem dealing with lvm?  i.e. you have lvm2 emerged?

----------

## Hadret

No, no reason at all -- I've got some other kernel installed and it's working (booting) as it should (I've got lvm2 installed too).

----------

## idella4

ok. I think I've found it.  You were very light on in your kernel config setting.  I think it's lacking some needed settings.

Still testing.

----------

## Hadret

 *idella4 wrote:*   

> ok. I think I've found it.  You were very light on in your kernel config setting.  I think it's lacking some needed settings.
> 
> Still testing.

 

Where is it? Where is it?!  :Surprised:   :Smile: 

----------

## idella4

Hadret

that was easy.  You were light on, with make modules_install, there were only about half the number of modules installed that I have, but I have many  un-essential modules.

It is right here.

 *Quote:*   

> 
> 
>  .config - Linux Kernel v2.6.35-zen2 "Get the hell out" Configuration                   
> 
>  ────────────────────────────────────────────────────────────────────────────────────── 
> ...

 

This is what it looks like now.  You didn't have the full set of kernel drivers to see your hardware.

Just give me a minute and I'll re-boot into it.

Oh that's right, it's improved but still not right.  Change to the above, boot, and you will get to lecel 5, but it's likely your mouse will be frozen.  That's a separate issue.  There are lots of examples of that in this forum.

What you need to do is go to the config of your working kernel and implant the relevant settings re your mouse.

What you ought to have done is copy your config from the working kernel, invoke make oldconfig and follow the prompts for the new settings.

----------

## Hadret

 *idella4 wrote:*   

> This is what it looks like now.  You didn't have the full set of kernel drivers to see your hardware.
> 
> Just give me a minute and I'll re-boot into it.
> 
> Oh that's right, it's improved but still not right.  Change to the above, boot, and you will get to lecel 5, but it's likely your mouse will be frozen.  That's a separate issue.  There are lots of examples of that in this forum.
> ...

 

Still no luck for me, actually. I double checked settings you have provided above, but after compilation and boot I still have this message:

```
Root-NFS: No NFS server available, giving up.

VFS: Unable to mount root fs via NFS, trying floppy.

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

----------

## idella4

Hadret,

ok  my addition hasn't quite cured it, but the ailment is identified.

You kernel was not able to identify your root on the drive.  It isn't seeing the drive.

Two options,

1. Do as in the previous post with make oldconfig/

2.  Run make defconfig, which should pick u[ and configure the kernel config with your hardware.

or get into the system with your working kernel, 

lspci -[k or v]

and observe the hardware drivers.  Your kernel is definitely lacking on the hardware side.

 *Quote:*   

> 
> 
>  .config - Linux Kernel v2.6.35-zen2 "Get the hell out" Configuration                   
> 
>  ────────────────────────────────────────────────────────────────────────────────────── 
> ...

 

If you have the above checked [ NFS server support ], uncheck it.  That can do it.

----------

## Hadret

 *idella4 wrote:*   

> You kernel was not able to identify your root on the drive.  It isn't seeing the drive.

 

Yes, there's no doubt about that. Let's recap:

1. LVM -- is compiled into the source, Multiple devices driver support (RAID and LVM) in there, Device mappers is checked.

2. ext2 and ext4 -- both are necessary, as I'm using ext2 on /boot and /ext4 on rest -- both are compiled into the kernel.

3. SATA -- according to this, I had to add also jmicron PATA driver, but it didn't helped.

What else is absolutely essential for system to boot?

 *idella4 wrote:*   

> 
> 
>  .config - Linux Kernel v2.6.35-zen2 "Get the hell out" Configuration                   
> 
>  ────────────────────────────────────────────────────────────────────────────────────── 
> ...

 

That actually did help! Now I've got only this guy here:

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

----------

## idella4

Hadret

let's recap

the file system isn't the issue.  That's probably all ok in your kernel setup.

You had  at ;east three separate errors that each disrupted an effective boot.  You're down to one, the

 *Quote:*   

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

 

which is the regular familiar one.  

I have already given you some ways of getting it.  However,try

 *Quote:*   

> 
> 
>  .config - Linux Kernel v2.6.36-hardened-r2 Configuration                                        
> 
>  ─────────────────────────────────────────────────────────────────────────────────────────────── 
> ...

 

Save you .config.  As I suggested before, run make defconfig in the kernel, it should automatically capture your hardware.

I'm not intricately knowledgeable of motherboards.  Your pic suggests it's an intel based motherboard.  You appear not to have done that.

Otherwise, post lspci -v

Once you boot in, your mouse will be possibly frozen.

----------

## Hadret

 *idella4 wrote:*   

> Save you .config.  As I suggested before, run make defconfig in the kernel, it should automatically capture your hardware.
> 
> I'm not intricately knowledgeable of motherboards.  Your pic suggests it's an intel based motherboard.  You appear not to have done that.
> 
> Otherwise, post lspci -v
> ...

 

I used make defconfig and provided few changes (I needed, for example, enable ext2 and ext4 and few other things) and... it boot, finally! There are some small things I need to change, but I've got working base, which I can adapt to my needs and fall back to, when something go wrong. I will study changes made by make defconfig in .config file and try to find one (or maybe few?), which was responsible for kernel panic I was getting earlier (:

Thank you very much for you help! (:

----------

## idella4

Hadret

that's the good news.  :Laughing:   I take it your mouse wasn't frozen.    :Cool: 

----------

