Setup TFTP boot and nfsroot

I am attempting to setup a BBB Rev C to boot via TFTP and mount a rootfs via NFS.

I am using Robert Nelson’s 2014-08-05 Debian release image. I’ve examined the nfs-uEnv.txt in the boot partition and had a brief look at how the various environment variables interact with the default uboot setup. With the latest BBB uboot setup, it appears that TFTP boot and NFS rootfs functionality are “packaged” together. I am sure there are good reasons to combine these two functions together.

I’ve also read William Herman’s guides to setting up to boot via TFTP and mount the rootfs using NFS. Whilst helpful, these guides are now a bit dated (published June 2013).

I have setup a VirtualBox image running Linux Mint on my MAC. I have configured this image to be a NFS server and have arranged to export a rootfs (copied from the uSD card or created directly from RCN’s rootfs tarball). I have also configured TFTP on this image.

My questions:

  • Where/how do I obtain a “zImage” to boot using TFTP? Is this simply the vmlinuz-xxx image in /boot?

  • Unlike the normal so-called “uname” boot, the nfsboot does not use an initrd ramfs image.

  • What function does this file system provide?

  • What impact does the lack of an initrd image have on a system booted via TFTP and running a rootfs via NFS?- In this new setup, what are the best practices for updating the kernel?

  • Given this setup, is it advisable to also arrange to mount a user home directory via another NFS share to support on-going development? Or would it be better to include the user home directory as part of a single (rootfs) NFS mount to keep things simple?
    Thanks in advance.