11.1 kernel cannot find root partition

My openSUSE 11.1 install stopped working a few days ago. When the kernel tries to mount /, it stops with “could not find /dev/disk/by-id/foo-bar…-part6
Want me to fall back to /dev/disk… Y/n”
The fall back is the same partition anyway, so it finally ends up in a naked bash.
From a live CD, all partitions look ok.
In /var/cache/zypper/… I found 21. Aug 22:05 repo-update/rpm/i586/kernel-pae-, so this looks like a botched upgrade, because it does not work since then…
I tried automatic repair, explicit repair of the boot configuration, explicit repair of the hal package, which it claimed was broken.
I also changed menu.lst to point to /dev/hda6 (and sda6) instead of /dev/disk/by-id/goo…part6.
Still ends in “could not find /dev/hda6…”

Any other ideas?

That is because opensuse refers to partitions using disk identifiers instead of partition numbers. That why you see these long references to the root partition in the grub config file.

To fix this you will have to boot the system with the opensuse install DVD en use the repair option. In that menu, go to the bootloader section.

Now in this tool, select the option “propose new configuration”. Opensuse will create a new grub menu based on the installed kernels with correct id’s.
Save the config and reboot.

It should be OK now.

As I said, I had already tried a few permutations from the repair dvd. Because the “new” boot settings did not change the symptoms, I suspected the generated IDs in the boot and repair environment somehow don’t match and therefore tried the /dev/sdaX names in grub’s menu.lst plus /etc/fstab. Suspiciously, Knoppix sees them as /dev/hdaX, so I tried that as well. Always the same symptom, as if the kernel cannot see the very disk from which it just got loaded…

I had another look at the lengthy boot log right in the middle, there it is:
FATAL: Module pata_via not found
FATAL: Module ata_generic not found
FATAL: Module via_82cxxx not found
FATAL: Module ide_pci_generic not found

So it cannot talk to my PATA disk any more. Why would that be?

(just changed title)

Are you sure that it’s the kernel message ? I think it’s the message from initrd from udev initialization script. Then this means, I beleive, the absence (in the initrd) of the necessary kernel module for your HDD.

Probably. So why would the update to this kernel ditch the PATA drivers from initrd? And how can I get them back?

I don’t know how to resolve this situation in reality :(.

Theoretically I beleive it’s possible to add the driver from “external source” on CD/DVD - SuSE installation process must propose this.

Or you may build your own initrd (via mkinitrd).