Here are a few notes on making your Fedora workstation serve a root file system for some embedded Linux target. There are a couple of additional steps when compared to Ubuntu, namely telling the firewall to allow NFS traffic and re-enabling NFSv2 support.
First, install the NFS and rpcbind packages:
sudo dnf install -y nfs-utils rpcbind
Enable and then activate services:
sudo systemctl enable rpcbind sudo systemctl enable nfs-server sudo systemctl start rpcbind sudo systemctl start nfs-server sudo systemctl start rpc-statd sudo systemctl start nfs-idmapd
Tell the firewall to allow NFS connections:
sudo firewall-cmd --permanent --add-service nfs sudo firewall-cmd --permanent --add-service rpc-bind sudo firewall-cmd --permanent --add-service mountd sudo firewall-cmd --reload
Enable NFSv2 support. This is very important as the Linux kernel explicitly
uses the old NFS version 2 protocol when NFS booting, however NFS version 2 is
disabled by default in Fedora 22, 23, and so on. Edit
RPCNFSDARGS= to “-V 2” in order to enable NFSv2.
Restart services for this to take effect:
sudo systemctl restart nfs-config sudo systemctl restart nfs sudo systemctl restart rpcbind
Verify that NFSv2 support is enabled by checking
sudo cat /proc/fs/nfsd/versions +2 +3 +4 +4.1 +4.2
+2 indicates NFSv2 support. You should now be able to add your exported
file systems to
/etc/exports.d/ and then run:
sudo exportfs -ra
to reload and add the new entries.