# 2.6 kernel won't boot  [SOLVED]

## plut0

I've been using linux for many years and consider upgrading from 2.4 to 2.6 relatively trivial.  This machine however will not boot a 2.6 kernel and I'm running out of ideas.  I first tried customizing my own kernel with the latest from portage leaving me with this error:

 *Quote:*   

> Kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(3,5)

 

Then I tried genkernel and it gave me this error:

 *Quote:*   

> Block device /dev/hda5 is not a valid root device.  The root block device is unspecified or not detected.  Please specify a device to boot, or "shell" for a shell.

 

The 2.6 kernels find the IDE controller fine (PIIX4), I have made sure it has ext2/3 support, /proc support and Virtual memory file system.  The hardware is pretty standard.  It is a pentium 3 machine with an ide drive.  What else could possibly be wrong with it?

EDIT: EZ-BIOS was installed, after removing it my problems went away.Last edited by plut0 on Thu May 26, 2005 1:48 pm; edited 1 time in total

----------

## adaptr

No udev ?

----------

## mOjO_420

what kernel did you emerge?

can you post your grub.conf?

i ask because I just upgraded (gentoo sources) 2.6.10-r5 to 2.6.11-r8 and now I got a similar error. recompiled and now I get further but it just freaks out because it can't mount /proc.  I have no idea why it can't mount proc. its enabled in the kernel config. its a pure udev system but it always has been.  i can still boot to my 2.6.10-r5 so i know theres nothing wrong with fstab.  I think there might be some change in 2.6.11... you might give 2.6.10 a try to test my theory...

and if you havent yet you should read up on using udev, hald, ivman, d-bus, etc... one of the nicest things about the move to 2.6 (besides the performance boost).

----------

## plut0

I emerged udev, hotplug and coldplug.  Hotplug is in default runlevel, coldplug in boot runlevel.  Changed RC_DEVFSD_STARTUP to "no" in /etc/conf.d/rc.  Did I forget anything migrating from devfsd to udev?

I am trying to boot gentoo-sources-2.6.11-r8.  I have also tried prior versions with no luck.  Here is my grub.conf:

 *Quote:*   

> timeout 30
> 
> default 0
> 
> fallback 1
> ...

 

I have also tried booting the 2.6 kernel with "nodevfs udev devfs=nomount" and no luck.

----------

## adaptr

Don't tell me - you're using SATA or some such.

----------

## plut0

Not using SATA.

----------

## adrien1977

Well I used to have the same error the first time that I install gentoo

One of the things that I forgot was to put the boot partition as bootable

I also made  a mistake in the fstab file

and finally I had to emerge devfsd because it was the thing that was missing too. 

After that I read the doc on how to merge from linux 2.4 to 2.6 even though I never used 2.4 but it explained the migration from devfs to udev.

After that no problem

----------

## amzuk

try:

kernel /kernel-2.6.11-gentoo-r6 root=/dev/hda5 init=/linuxrc 

if this works, than udev isnt configured right. do:

# genkernel --udev --menuconfig all

n also read Gentoo udev Guide

good luck

----------

## plut0

I double checked the fstab file and everything looks ok.  I'm sure it is because I can still boot the 2.4 kernel.

The general kernel was compiled with udev and I can verify its using udev when it boots.  I also read through the guide you linked but its seems as if I have already done all the steps already.

Anymore ideas?

----------

## plut0

I just tried kernel 2.6.7-gentoo-r11 from an old LiveCD but that didn't boot either.

----------

## adaptr

Do you mean the LiveCD failed to boot, or you couldn't boot your on-disk Gentoo with the LiveCD kernel ?

If the LiveCD fails to boot at all then you probably need some kernel boot option.

----------

## plut0

My gentoo install on the hard drive wouldn't boot with a 2.6 kernel.  I just copied the kernel from the LiveCD to the drive and tried booting it.  Like I said before, the machine has been running on the 2.4 kernel for quite some time now.

----------

## moocha

Hm. Could it be that you either outright forgot to include support for the file system type of your root file system, or you compiled that support in as a module which, seeing as the modules are on the root file system, creates a chicken-and-egg situation?

----------

## plut0

Just checked, ext2 (/boot) and ext3 (everything else) is compiled in the kernel, not as a module.

----------

## plut0

Well I found the problem but I'm not sure how to fix it.  When I boot the 2.6 kernel and it fails I went in the shell access and looked around.  I checked the /dev/hda* devices and there only two (no links - see below) that came up were disc and part1.  All the other partitions are missing.

I booted 2.4 kernel and checked the devices and heres what comes up:

 *Quote:*   

> /dev/hda -> ide/host0/bus0/target0/lun0/disc
> 
> /dev/hda1 -> ide/host0/bus0/target0/lun0/part1
> 
> /dev/hda2 -> ide/host0/bus0/target0/lun0/part2
> ...

 

Very strange...and in /dev/ide/host0/bus0/target0/lun0/

 *Quote:*   

> block 3,0 disc
> 
> block 3,1 part1
> 
> block 3,2 part2
> ...

 

I'm wondering if these links are causing a problem that they exist in 2.4 but not in 2.6.  Is there a way to recreate them without the links?

----------

## moocha

The ide/host0/bus0 etc etc names and the links to them are devfs-specific. udev went back to the "classic" names.

Did you by any chance turn off the static device tarball in /etc/conf.d/rc? Make sure that RC_DEVICE_TARBALL="yes" there.

----------

## plut0

It is set to yes.  However, that is only used by udev and since my system is still on 2.4 using devfs that is how my /dev is layed out.  The question is, why is udev not creating them correctly?  Or perhaps its something else, I'm not sure...

----------

## moocha

I'm stumped for now - really wish I could help you. Will dig some more and check back if new posts appear or if an inspiration particle strikes me...

----------

## amzuk

did u put root=/dev/ram0 or root=/dev/hda5 (and no real_root=/dev/hda5) when u were trying to boot?

----------

## plut0

I tried what you suggested, root=/dev/hda5 init=/linuxrc, but that gave a different error message relating to the initrd.

----------

## plut0

Is it possible that the 2.6 kernel just doesn't work with some hardware?  I really don't see what the problem is in why this won't boot.

----------

## adaptr

Missing or wrong device nodes is definitely a udev problem.

Try rebuilding the kernel with devfs and booting that; plenty of time to mess with udev later - when it actually works.

----------

## mOjO_420

go into /usr/src/linux

make oldconfig

make && make modules_install

copy your kernel, etc... forget about the initrd and the fbsplash for now and make a real simple grub line.

root (hd0,0)

kernel /yourkernel-2.6.11-r8 ro root=/dev/hda5

(comment out the initrd line)

it wont be pretty but see if it boots and then lets go from there.

----------

## plut0

@adaptr:

devfsd was already built in the kernel.  Neither devfsd or udev works.  In fact, it seems to fail before that point anyways.

@mOjO_420:

I've rebuilt the kernel numerous times including other 2.6 kernels and none seem to work.  With or without initrd, it doesn't seem to matter, nothing works.

----------

## radagast

another shot in the dark...

how many hard disks do you have?  can hda have become hdb or something even stranger?

i see you're not using SATA, so it shouldn't have become sda, but i've found that to be the most undiagnosable thing.

have you tried the grub commandline?

----------

## plut0

Just 1 drive.  It is hda, says so on boot up.

You want me to reinstall grub to the MBR?

----------

## plut0

I remembered that my home machine is very similiar to this machine, same chipset and such.  So I copied the config and tried recompiling the kernel but unfortunately a similar error occurred:

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

My home machine works fine with 2.6 kernel and devfs but this machine will still not boot a 2.6 kernel.  I also tried reinstalling grub but that didn't help any.

----------

## darkphader

Just in case - make sure that you didn't do a "make oldconfig" with 2.4's .config file.

Most claim that it is necessary to start from scratch when moving to 2.6.

----------

## plut0

I figured out what is wrong.  The drive has EZ-BIOS installed which is causing the issues.  I booted 2005.0 livecd (which has kernel 2.6) and it registers the drive as only 1 partition /dev/hda1, which is the size of the entire drive.  So it looks like kernel 2.4 was able to work around this but 2.6 cannot.

My question now would be, can I safely remove it from this machine and still see the entire drive?  The drive might have been in another machine prior to this one that needed EZ-BIOS installed but I'm not sure if this machine needs it.  It is a pentium3 450, 440BX motherboard, PIIXn chipset.  I'm afraid if I remove EZ-BIOS the machine won't boot at all anymore.

Any thoughts?

----------

## darkphader

Hmmm..tough one, I always avoided working under those conditions. It is possible that the hard drives reported geometry may be different after the removal and you may be in trouble.

Always a good idea to wipe the MBR when possible before installing

If you have, or can borrow, another drive you can back everything up just in case. Remove ezbios, repartition, and move the data back.

----------

## plut0

Well its fixed now.  I disabled EZ-BIOS, the bios recognizes the whole drive and it boots the 2.6 kernel just fine.

----------

