HURRAH it now works, thanks to all your help and no need to make a new kernel or uboot!
Here is how its done at a high level, I will be writing it up in more detail on the Misterhouse on Beglebone
instructions.
1) Flash an SD card with the standard (non eMMC flashing) Debian image from
here2) Set up an NFS share on your NAS/PC/whatever
3) Boot your Bone with the SD Card
4) Set the Bone to have a static IP address by editing /etc/netwotk/interfaces reboot and check it works
4) NFS mount the shared drive from the Bone ( e.g. mount -o nfsvers=3 192.168.10.118:/home/bone /mnt/nfs)
5) sudo to root on the Bone and do all the rest of the Bone stuff as root
6) copy everything to the NFS drive. The second step seems unnecessary, but its quick compared with the first
cp -axv /. /mnt/nfs/.
cp -axv /dev/. /mnt/nfs/dev/.
7) edit the /mnt/nfs/etc/fstab to add
/dev/nfs / nfs defaults 0 0
and comment out the other root partition,
8) Edit your /boot/uboot/uEnv.txt add the following lines - changed to match your configuration
serverip=192.168.10.118
ipaddr=192.168.10.47
hostname=MH_bbb
netmask=255.255.255.0
gateway=192.168.10.1
nfsdevice=eth0:off
nfsopts=vers=3
rootpath=/home/bone/rootfs
comment out the line that starts mmcargs as follows;
#mmcargs=setenv bootargs
add a new netargs line - note all on one line, not broken as here
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gateway}:${netmask}:${hostname}:${nfsdevice}
and finally replace the uenvcmd with this;
uenvcmd=run loadfiles; run netargs; bootz ${loadaddr} ${initrd_addr}:${initrd_size} ${fdtaddr}
Reboot and you should be able to ssh into your Bone, hear your disk drive whizzing and see your extra disk space with a df.
For completeness I've attached my uEnv.txt
Thanks again
Giles