This Magisk module contains an userland NFSv3 daemon for arm64 CPUs

ASUS_I006D:/ $ unfsd -h
UNFS3 unfsd 0.11.0 (C) 2003-2025, various authors
Usage: unfsd [options]
	-h          display this short option summary
	-u          use unprivileged port for services
	-d          do not detach from terminal
	-e <file>   file to use instead of /etc/exports
	-i <file>   write daemon pid to given file
	-n <port>   port to use for NFS service
	-m <port>   port to use for MOUNT service
	-t          TCP only, do not listen on UDP ports
	-p          do not register with portmap/rpcbind
	-s          single user mode
	-b          enable brute force file searching
	-l <addr>   bind to interface with specified address
	-r          report unreadable executables as readable
	-3          truncate fileid and cookie to 32 bits
	-T          test exports file and exit
ASUS_I006D:/ $ 

The nfsd binary only needs the standard Android libraries:

ASUS_I006D:/ $ ldd  /system/bin/unfsd
	linux-vdso.so.1 => [vdso] (0x769f25a000)
	libc.so => /apex/com.android.runtime/lib64/bionic/libc.so (0x769c4c4000)
	libdl.so => /apex/com.android.runtime/lib64/bionic/libdl.so (0x769c48c000)
ASUS_I006D:/ $ 

see here

http://bnsmb.de/Magisk_Modules.html#Documentation_for_the_Magisk_Module_with_unfsd3

for the documentation for this Magisk module


The source code for the NFS daemon is available here:

https://github.com/unfs3/unfs3

To compile unfsd, the libtirpc library from here https://www.linuxfromscratch.org/blfs/view/svn/basicnet/libtirpc.html is required.


History

31.10.2024 v1.0.0 /bs
  initial release

