OK, After some more investigation, I found that the problem lies when compiling HFS support in the kernel and trying to boot a root filesystem that has a name starting by a letter "bigger than" H (such as UFS, if you could have a / in such a fs! :), or in my case, XFS.
The file init/do_mounts.c has a function that after getting all the filesystems compiled in the kernel, iterates through them, one by one, trying to mount the / partition. Since h(fs) is "lower" than x(fs), the loop tries to mount my /dev/hda4 as hfs, and this, _somehow_ manages to break the loop and produces the kernel panic. This last bit is made from "guessing" a little bit about what could be going on there, because I just cannot understand why is panics... The loop is supposed to move on if one of the mounts fails! It _should_ fail nicely since it is xfs and not hfs, but the hfs thingie manages to break the boot process. I donŽt mind much, since compiling as modules fixes all the problems (the boot problem and my problem, since I should learn to keep the kernel simple :-D ) but I think the error is _quite_ obscure, since the VFS: Cannot mount root and the panic usually happen because of devfs or because of passing a wrong root= but _not_ because you compiled support for a filesystem that you donŽt use (at boot time). Anyways, it was quite interesting to work it out :-D If anyone wants to fix it, and needs testing, I an happy to help. Cheers, -- J. Javier Maestro <[EMAIL PROTECTED]> http://rigel.homelinux.com