Just to confirm that using uENV.txt works for booting kernel from TFTP and with NFS file system.
Here is my uENV.txt file for the Boneblack:
bootargs=console=ttyO0,115200n8 noinitrd rw root=/dev/nfs nfsroot=137.167.210.240:/home/user/ti-sdk-am335x-evm-07.00.00.00/targetNFS,nolock ip=dhcp earlyprintk
ip=137.167.188.102:137.167.210.240:137.168.188.1:255.255.254.0
ipaddr=137.167.188.102
serverip=137.167.210.240
netmask=255.255.254.0
bootfile=uImage-sdk7.bin
kloadaddr=0x80007fc0
autoload=no
bootdelay=5
uenvcmd=dhcp;tftp 0x80200000 uImage-sdk7.bin;tftp 0x80F80000 am335x-boneblack.dtb;iminfo;bootm 0x80200000 - 0x80F80000
I might be missing something but it seems that it only works with uImage for me (Not with zImage).
If it is the case it would be good if uImage gets pre-built in the SDK distribution too.
A.