I am new to zeroshell, but not to Linux or kernel compiling. Therefore I can only offer generic advice, but I noticed that you have not received a reply, so, here it goes.
The first thing you need to ask is: what is your hardware that you are compiling the kernel for?
If it does not match the unit you are compiling from, then you will need a cross-compiler. Also, not so much with the kernel, but if you are not using the same version of linux to compile with, then you will most likely need a tool-kit and the appropriate libraries to match the version of zeroshell you are using.
Very often, new users will find it easier to recompile the kernel and other software directly on the target system. This can take *forever* if it is an embedded system, but will almost always give you the correct software, linked to the correct libraries. In the kernel’s case, it can be *much* easier than setting up the cross compiler for the novice.
If you are certain that you are compiling for the correct architecture, then check to ensure that you are starting from the correct configuration file. Copy the original configuration file (usually aptly named in the distributions kernel source package) to .config and then do your make menuconfig. Check to make sure that all your target hardware is supported. It looks to me from your error messages that it is not finding your root file system – which is either a problem with the bootloader/kernel boot parameters, or with your inital ramdisk, or with the kernel itself not having the correct devices loaded. If they are not compiled monolithicly into the kernel, then you have to be sure they are loaded into the initrd *and* the root file system, and that the initrd loads them properly, or else it will never find the root file system.
I realize that this is pretty generic, and may not be much help, but I hate seeing posts with no reply.