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 > >