Another Debian problem solved. I've had a load of problems upgrading Debian systems from 2.4 to 2.6 series kernels, when the hard disks are SATA drives and using GRUB to boot. After the upgrade, Debian no longer boots but hangs with a kernel panic.

Turns out, the problem was with udev and device names. Initially udev is disabled while running a 2.4 kernel, but becomes active when booting with 2.6. At the same time, all hard disk devices are renamed from /dev/hda0 to /dev/sda0 etc.

The solution is easy: just change all references from /dev/hda0 to /dev/sda0 in /boot/grub/menu.lst. Also, make the same changes to /etc/fstab. (BUT don't do this unless you know what you're doing!)

I hope the Debian folks fix this in future releases, it's pretty nasty to end up with a kernel panic just for upgrading your kernel.