Booting an ISO from NFS uses some bootloader access to NFS to read some blocks. The root filesystem is the ISO, it is not NFS.
Trying to boot directly from NFS requires that NFS be the root filesystem, with full NFS read and write support in the kernel image. The root filesystem must be completely in the kernel image, and it cannot rely upon any modules.
I do not know if full NFS support can be put into the kernel.
I recommend making a small partition with some filesystem that Linux can boot from.
Any one of the filesystems that are supported directly in Linux kernel, EXT2,EXT3,EXT4, etc..
It only needs to be big enough to hold:
/var (with log files)
In /etc/rc.d/local.d you can mount the NFS partition with root links to /usr and /home.
Then if the NFS is down, unavailable, or has problems, then Linux can at least boot and tell you what is happening, and create log files.
There is a linux doc (under /usr/doc ) on how to create a diskless Linux.http://en.wikipedia.org/wiki/Diskles..._Boot_in_Linux
This solution boots an initRam disk image, and again does not boot the kernel from NFS.
Once Linux is up and support for NFS is in memory, then a root switch can move the root to an NFS directory.
Swap partition might have to stay local, but an additional larger swap space can be added to augment a small local swap partition. What swap space can be added by NFS files, I do not know.