Okay I'll try and explain, as I wasn't to clear before
The filesystem of root ( ext2, ext3, reiserfs etc.. ) has to be compiled into the kernel ( marked with a * ), and not made as a module ( marked with a M ). when you do make menuconfig.
Otherwise the kernel can't read the root partition.
If you think about it you'll see that the kernel reads the modules from root.
Now if you've compiled the filesystem of root as a module, then the kernel can't read root to get the module to read root. Its hard to explain, but read it again and you'll get it
The other reason to get this error is a configuration error in your bootloader either LILO or GRUB, but thats less common.