How does, this look for a default:
http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0#nfs_support
I was following:
https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt
Just converting [-] -> [_]
The nfs part is triggered by "client_ip" variable, as that should be
the most unique thing of any microsd/board. it honors "dtb=" so you
can override the default *.dtb
++ "echo Checking if client_ip is set ...;" \
++ "if test -n ${client_ip}; then " \
++ "if test -n ${dtb}; then " \
++ "setenv fdtfile ${dtb};" \
++ "echo using ${fdtfile} ...;" \
++ "fi;" \
++ "gpio set 56; " \
++ "echo Running nfsboot ...;" \
++ "run nfsboot;" \
++ "fi;" \
nfsboot:
++ "nfsboot=echo Booting from ${server_ip} ...; " \
++ "setenv nfsroot
nfsroot=${server_ip}:${root_dir}${nfs_options}; " \
++ "setenv ip
ip=${client_ip}:${server_ip}:${gw_ip}:${netmask}:${hostname}:${device}:${autoconf};
" \
++ "setenv autoload no; " \
++ "tftp ${loadaddr} ${bootfile}; " \
++ "tftp ${fdtaddr} dtbs/${fdtfile}; " \
++ "run nfsargs; " \
++ "bootz ${loadaddr} - ${fdtaddr}\0" \
where nfsargs is very close to mmcargs, just with the nfs options:
++ "nfsargs=setenv bootargs console=${console} " \
++ "${optargs} " \
++ "${cape_disable} " \
++ "${cape_enable} " \
++ "root=/dev/nfs rw" \
++ "rootfstype=${nfsrootfstype} " \
++ "nfsroot=${nfsroot} " \
++ "ip=${ip} " \
++ "${cmdline}\0" \
Here's the global var's used:
server_ip=192.168.1.100
gw_ip=192.168.1.1
netmask=255.255.255.0
hostname=
device=eth0
autoconf=off
root_dir=/home/userid/targetNFS
nfs_options=,vers=3
nfsrootfstype=ext4 rootwait fixrtc
So for John's uEnv.txt, this is all that should be needed in boot: /uEnv.txt
client_ip=10.100.116.105
server_ip=10.100.116.73
gw_ip=10.100.116.1
root_dir=/home/<userid>/targetNFS
Now to test it.. I don't think i broke anything.
Regards,