Upgrade Kernel to 2.6.20.x Problem

Jeffrey Bush bushj at rpi.edu
Tue Apr 10 21:58:50 PDT 2007


>>
>> VFS: Cannot open root device "hda1" or unknown-block(0,0)
>> Please append a correct "root=" boot option
>> Kernel Panic: not syncing: VFS: Unable to mount root fs on
>> unknown-block(0,0)
>>
>> My current root= is /dev/hda1 which is how it was when I had the original
>> kernel (2.6.16). I have since tried /dev/hdx1 with x=a-d. I have also
tried
>> /dev/sdx1 with x=a-e because when I use the LFS LiveCD the hard drive
shows
>> up as sda1.

> This is the source of the problem. Moving up to 2.6.20 will cause the
> *ATA drivers to got through libata and the SCSI layer by default. So,
> after you get the correct modules sorted out, it will end up being
> /dev/sd*. Actually, I'm not sure if that's the default setup, but I
> think it's the right thing to do.

>> My current kernel configuration has every single SATA and PATA driver
>> installed, and I have tried just Intel PIIX/ICH SATA Support (my
motherboard
>> is Intel ICH7M/945GM - M for mobile). I also have ext2 and ext3
filesystem
>> support installed. None of these are modules.
<snip>
>> So, I guess the main thing is, what other options (like in "ATA/ATAPI...
>> support" or "SCSI device support") should be also enabled or disabled?

> Sounds like you're probably missing the SCSI bits. Start enabling
> stuff in "SCSI device support" and "SCSI support type". If those
> headings don't exist, look at the generated .config file and check for
> CONFIG_SCSI, CONFIG_BLK_DEV_S[DG]. You probably don't need any of the
> actual SCSI drivers, but you'll probably want CONFIG_ATA and
> CONFIG_ATA_PIIX if you don't have them already. Also, check for
> CONFIG_PATA_JMICRON, which very well could be your PATA chipset (this
> will show up in lspci output).

> Again, I could be wrong about this being the default setup, but it
> works for me on a couple of Intel based motherboards and libata is the
> future for PATA/SATA.

It worked!!
I ended up adding IDE_GENERIC (generic/default IDE chipset support),
BLK_DEV_GENERIC (Generic PCI IDE Chipset Support), BLK_DEV_JMICRON (JMicron
JMB36x support), CHR_DEV_SG (Generic SCSI Support), PATA_JMICRON (JMicron
PATA Support). I added all of those, so I am not quite sure which one did
it, but it worked. I also had to switch to /dev/sda1 instead (and it worked
now even though it did not work before).

As a side note, using lspci showed everything as Intel Corporation ... and
then either ICH7 family or 945GM chipset. The only things that weren't were
firewire and wireless card. This motherboard is not an actual Intel one. I
will be keeping the JMicron stuff in their anyways, it won't hurt (and I can
handle the tiny size change that it causes).

Thanks again,
Jeff





More information about the blfs-support mailing list