[vox-tech] Kernel upgrade from Sarge (fresh install) 2.4.25 -> 2.6.3 or 5

Jonathan Stickel vox-tech@lists.lugod.org
Sat, 01 May 2004 21:35:56 -0700


me@heyjay.com wrote:
>>>VFS - Cannot open root device "hda1" or unknown-block(0,0)
>>>Please append correct "Root=" boot option
>>>Kernel panic: VFS: unable to mount root fs on unknown-block(0,0)
>>
>>well, this pretty much tells it all.  the kernel panics because it
>>doesn't know where to find the root of your filesystem.
> 
> 
> I sorta got that, I'm just not sure why it can't find the filesystem
> 
> 

I've found, by personal experience, 3 things that cause the root 
filesystem not to be found or mounted.

1) incorrect "root=/dev/hdxx" entry in your boot loader, as others have 
pointed out

2) incorrect line in /etc/fstab

3) The necessary parts for your filesystem (e.g. ext3, reiserfs, or even 
your harddrive drivers) are not properly compiled in your kernel.

The first 2 are obvious, but I'll talk more about the last one.  Unless 
you are using an initrd, you MUST compile support for your harddrive and 
its filesystem into the kernel directly, i.e. not as modules.  This is 
what I do, and it works.  Supposedly, modules are OK when using an 
initrd, but I haven't taught myself that yet, and it seems unnecessary. 
  Modules are OK, and recommended, for things that come after mounting 
your root partition, but not before (e.g. usb stuff).

<snip>
>>>cp /boot/config-2.4.25-1-386 .config
>>>make menuconfig # didn't really do much here except make the processor
> 
> type
> 
>>>AMD
>>
>>whoa there.  you're kidding, right?
>>
>>you can't just use old .config files like that.  read the kernel
>>compiling howto and do a search on oldconfig.
> 
> 
> I've tried make oldconfig, I've tried using all the defaults, I don't know
> what all the options mean (even after reading the help) nor if they apply to
> me
> 
> Anyway, I tried using the prebuilt 2.6.5-k7 image and that installed and
> booted fine, so I'll use it's config as a starting point, and try again
> 

Yep, all those options can be really confusing and intimidating.  But 
you have the right idea:  start by working with a config that is known 
to work.  Good luck!  There is something satisfying about compiling your 
own kernel.

Jonathan