Click to See Complete Forum and Search --> : Unable to mount filesystem after kernel recompile


Jata
02-18-2005, 06:32 PM
Ok here's the problem. I did a fresh install of debian sarge using the net-install cd. I then downloaded the 2.6.10 kernel and have compiled it and adjusted my grub file accordingly to boot it. Here's my grub configuration file:

title Debian GNU/Linux, kernel 2.4.27-1-386
root (hd1,0)
kernel /vmlinuz-2.4.27-1-386 root=/dev/hdb2 ro
initrd /initrd.img-2.4.27-1-386
savedefault
boot

title Debian GNU/Linux, kernel 2.6.10
root (hd1,0)
kernel /kernel-2.6.10 root=/dev/hdb2 ro video=vesafb:ywrap,mtrr,vga=0x317
savedefault
boot

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title Windows NT/2000/XP
root (hd0,0)
makeactive
chainloader +1

I have ommitted the initrd part as I previously ran Gentoo and didn't need it with that. The problem is that I can't boot the new kernel, I get the following:

VFS: Cannot open root device "hdb1" or unknown_block(0,0)
Please append a correct "root" boot option
kernelpanic _ not syncing: VFS: Unable to mount rootfs on unknown_block(0,0)

Here is my fstab:

/dev/hdb2 / reiserfs defaults 0 1
/dev/hdb1 /boot ext3 defaults 0 2
/dev/hdb3 none swap sw 0 0

I have compiled support for both reiser and ext3 into the kernel so my question is why can't I mount the filesystem? The partitions specified in the grub file must be right because the other kernel boots fine.
I suspect it might be that I need the module for my hard drive controller built in too but make menuconfig only gives me the option to include it as a module. The controller in question is the VIA VT8237.

I have tried making an initrd image but to no avail. I tried:

mkinitrd -o /boot/initrd-2.6.10 /lib/modules/2.6.10/

Perhaps I did it wrong?

I've probably overlooked something simple but I just can't see it. If anyone can suggest anything I would be grateful, I'm getting fed up of rebooting!

bwkaz
02-18-2005, 07:42 PM
Originally posted by Jata
I suspect it might be that I need the module for my hard drive controller built in too but make menuconfig only gives me the option to include it as a module. The controller in question is the VIA VT8237. That is the problem. You need support for two things built in: your root filesystem is one, and the driver for the IDE chipset that your root partition's drive is hooked up to is the other.

For a VT8237, you need to turn on the "Via 82CXX chipset support" driver. In order to make that a non-module, you need to configure "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support" (CONFIG_BLK_DEV_IDE) into the kernel, not as a module. But in order to make that a non-module, you also need to configure "ATA/ATAPI/MFM/RLL support" (CONFIG_IDE) into the kernel.

Once you turn on those two prerequisites, you should be able to build the Via driver into the kernel.

Jata
02-19-2005, 12:17 PM
Ok I tried that and successfully got the driver compiled into the kernel but still no joy. It might also be worth mentioning that the drive I'm booting off is not actually a SATA drive, it's IDE.
This shouldn't make a difference as it's a combined controller right?

Here's the spec of my motherboard:
Motherboard Spec (http://uk.asus.com/prog/spec.asp?m=A7V600&langs=11)

I should perhaps also say that I haven't compiled the kernel the 'debian way' and just did the following:

make menuconfig
make && make modules_install
cp arch/i386/boot/bzImage /boot/kernel-2.6.10

Have I missed anything?

It appears I'm still stuck, any other ideas?

Thanks for the reply.

Jata
02-19-2005, 02:26 PM
Ok I've fixed it. I had neglected to include:

Include IDE/ATA-2 Disk Support

Having said that I'm surprised it wasn't included by default. Got some weird mouse issues now but hey, one step at a time.