[PROBLEM]
"kernel panic: VFS: unable to mount root fs on..."
after compiling a new kernel. This error may have several reasons, but if you've checked the most obvious ones, here might be another solution.
[POSSIBLE-SOLUTION]
Make sure that you have "CONFIG_EXT2_FS" set to "Y" in the config file. One might easily have un-selected this option with menuconfig, since it's labelled something like "Secondary extended fs". Personally I would have expected something containing "ext2" (since 'ext3' is labelled that way).
Unable to mount root fs.
All kinds of reasons. If you are absolutely sure you have the right filesystem drivers built in, you can also try to change the root filesystem that is mounted on startup with the linux "root=" bootparam (man bootparam). "rdev" can be used to permanently change the root partition for a linux kernel image