After following the documentation to install a NFS server here, I have realized the NFS service was not properly starting. Doing some investigations I found we should be having the following processes:
/usr/sbin/rpc.mountd -p 32780
/usr/sbin/rpc.statd -p 32778 -o 32779
/usr/sbin/portmap
but I was having different processes:
/sbin/rpcd -s /var/run/ubus.sock -t 30
/usr/sbin/portmap -f
/usr/sbin/rpc.nfsd
showmount shows the following error:
# showmount -a localhost
clnt_create: RPC: Timed out
Checking the processes it was missed /usr/sbin/rpc.statd
I tried to start it up by hand but if failed (you can check within /etc/init.d/nfsd how to run it, I just included the -d option for debug):
# /usr/sbin/rpc.statd -p 32778 -o 32779 -F -d
rpc.statd: Version 2.3.3 starting
rpc.statd: Flags: No-Daemon Log-STDERR TI-RPC
sm-notify: Version 2.3.3 starting
sm-notify: Already notifying clients; Exiting!
rpc.statd: Local NSM state number: 3
rpc.statd: Failed to unregister program 100024, version 1
rpc.statd: Running as root. chown /var/lib/nfs to choose different user
rpc.statd: Failed to register (statd, 1, udp)
rpc.statd: Failed to register (statd, 1, tcp)
rpc.statd: Failed to register (statd, 1, udp6)
rpc.statd: Failed to register (statd, 1, tcp6)
rpc.statd: failed to create RPC listeners, exiting
I have found some forums, where they do recommend using rpcbind, instead of portmap to solve issued with the rpc.statd.
I tried to find the rpcbind package with no luck for this architecture (arm_cortex-a7_neon-vfpv4). Is that package missed in the packages download page for gl-b1300?
I tried to repeat exactly the same steps in another arm board (Raspberry Pi4) and there it worked like a charm and it has the rpcbind package available here up and running, with those processes correctly in memory:
(Please, note the /usr/sbin/rpc.statd -p 32778 -o 32779 -F is correclty up and running)
/usr/sbin/rpcbind -f -w
/usr/sbin/rpc.statd -p 32778 -o 32779 -F
/usr/sbin/rpc.mountd -p 32780 -F
Are we missing the rpcbind package in the ipq40xx architecture?
If there is no rpcbind package available, Why the /usr/sbin/rpc.statd fails and how to solved it to properly share through NFS?
Any help is much appreciated.
Note, compare the packages installed with both architectures:
RaspberryPi4 (aarch64_cortex-a72)
Configuring kmod-crypto-cts.
Configuring kmod-fs-nfs-common.
Configuring kmod-fs-exportfs.
Configuring kmod-crypto-arc4.
Configuring kmod-fs-nfs-common-rpcsec.
Configuring kmod-fs-nfsd.
Configuring kmod-dax.
Configuring kmod-dm.
Configuring libwrap.
Configuring libkeyutils1.
Configuring kmod-dnsresolver.
Configuring kmod-fs-nfs.
Configuring kmod-fs-nfs-v4.
Configuring libtirpc.
Configuring rpcbind.
Configuring libdevmapper.
Configuring nfs-utils-libs.
Configuring nfs-kernel-server.
GL-B1300 (arm_cortex-a7_neon-vfpv4)
Configuring kmod-crypto-cts.
Configuring kmod-fs-nfs-common.
Configuring kmod-fs-exportfs.
Configuring kmod-crypto-ecb.
Configuring kmod-fs-nfs-common-rpcsec.
Configuring kmod-fs-nfsd.
Configuring libwrap.
Configuring portmap.
Configuring libtirpc.
Configuring kmod-dnsresolver.
Configuring kmod-fs-nfs.
Configuring nfs-kernel-server.