Re: FreeBSD nfsroot - will it work with NFSv4.2?

Rick Macklem <[email protected]>
Newsgroups gmane.os.freebsd.devel.hackers
Message-ID <CAM5tNy6xSfQ4VTCYu_nUhE3ckykPO7o93-mK_zKcMvN76=4A0Q@mail.gmail.com>
On Sun, Apr 5, 2026 at 9:16 AM Rick Macklem <[email protected]> wrote:
>
> On Thu, Feb 19, 2026 at 2:23 PM Dan Shelton <[email protected]> wrote:
> >
> > Hello,
> >
> > Will a FreeBSD 15.0 diskless setup with nfsroot work with NFSv4.2?
> I just committed a patch to main that does this, with some limitations.
> It will be in 15.1.
>
> The limitations are:
> - The server must be configured to handle both NFSv3 and NFSv4
>   because the bootstrap code still uses NFSv3.
> - The root directory specified in the "V4:" line in /etc/exports must
>   be "/" so that the root-path is the same for an NFSv3 and NFSv4 mount.
> - The NFSv4 server must be configured to use id-numbers in strings and
>   not be running the nfsused(8) daemon. (This limitation might be lifted
>   in a future commit which hard-wires enough mapping info to make
>   things work until the nfsuserd(8) daemon is running.)
I just did a commit to main that allows the nfsuserd(8) daemon to run
on the NFSv4 root fs.

I'm not 100% sure if it will work for a read/write root fs mount.
(I tested a read-only one, as suggested by Section 34.10 of the
FreeBSD Handbook.

For the nfsuserd(8) daemon setup (ie. name@domain strings for
uid/gid's), you need..

In /boot/loader.conf
boot.nfsroot.user_domain="<user-domain>"
along with the two lines
nfsuserd_enable="YES"
nfsuserd_flags="-domain <user-domain>"
in /etc/sysctl.conf.

rick

>
> The NFSv4 mount is enabled by putting:
> boot.nfsroot.options="nfsv4"
> in the root fs's /boot/loader.conf in the NFS server.
> It also needs:
> vfs.nfs.enable_uidtostring=1
> in /etc/sysctl.conf in the root fs in the NFS server.
>
> I found Mateusz's wiki useful for the rest of the setup:
> https://wiki.freebsd.org/MateuszPiotrowski/BootFreebsdFromNfs
>
> I also did a couple of things...
> - Deleted /etc/hostid in the root fs in the NFS server, so that each
>   client gets a unique kern.hostuuid.
> - Added a line like:
>   tmpfs /tmp tmpfs rw,size=10M,mode=01777 0 0
>   to the /etc/fstab in the root fs in the NFS server, so /tmp was
>   mounted.
>
> Good luck with it, rick
> >
> > Dan
> > --
> > Dan Shelton - Cluster Specialist Win/Lin/Bsd
> >
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.