NFS and diskless: some questions re nfs_diskless.c

Beeblebrox zaphod at berentweb.com
Mon Feb 16 09:30:03 UTC 2015


Hi again, Rick.

> If you are using a pxeboot built with this code, I don't know why you
> would still get NFSv2 instead of NFSv3. (Check the line for "/" in
> the diskless root's /etc/fstab <and> try adding the "nfsv3" option.

* I added nfsv3 to the client fstab as advised, but get same result (V2). Tested separately with Grub AND FreeBSD's pxeboot file.

* The probable reason is that my kernel has everything thrown in, but not BOOTP_NFSV3:
{ NFSCL, NFS_ROOT, KRPC, BOOTP, BOOTP_NFSROOT } (NFSD NFSLOCKD get loaded as modules). This is based on a prior discussion on the lists, one which in retrospect I seem to have mis-understood (http://freebsd.1045724.n5.nabble.com/PXE-boot-using-Grub-bootloader-fails-at-mountroot-no-PXE-devs-td5924518.html#a5925420)

In that discussion, while trying to use Grub as my pxeboot, I thought the solution was "build your kernel with BOOTP, BOOTP_NFSROOT"; whereas the more elegant solution was perhaps to find a way to "fill in the structure nfsv3_diskless" in grub.cfg or elsewhere. So I think I'll try to fix this by your suggestion of:
> I think if you build a kernel with "options NFS_ROOT" (but not the
> others), a boot loader can fill in the environment variables and have
> them used, just like pxeboot does.

Unless, above solution conflicts with my other objective, which is to "override the root fs"
> you can set this environment variable (look at bootpc_init()
> if you are using the BOOTP + BOOTP_NFSROOT
You mean using vfs.root.mountfrom I assume? But please clarify: Do you mean I can "override the root fs" if only I'm using BOOTP and not when using NFS_ROOT?

Thanks and Regards.


More information about the freebsd-net mailing list