A free NFS server for the Amiga

[14th October 2003 - New release to fix bug with reading directories]

As you can probably tell from the three-year gap between releases, this code is very, very dead. I don’t use an Amiga any more: I managed to build this under UAE, but not to test it. I’ve left the previous release up as well, just in case. I’ve no idea if anyone’s still using it, or if there are any remaining bugs, but if anyone’s still interested, you’re more than welcome to take over maintenance: the latest source is up for download, so let me know and I’ll put a link here.

Joseph Walton, 14th October 2003

[14th October 2000 - Minor release to add new command line option]


Sun’s NFS (rfc1094) is a protocol for sharing hierarchical filing systems over (typically) TCP/IP networks. Despite being widely supported on other platforms, the only server for the Amiga is incorrigibly commercial.


Like all protocols, NFS becomes interesting only when it becomes ubiquitous. I’ve got an Amiga and a PC sitting on my desk right now, and I could only easily share files in one direction. It looked like a fairly concise system, so I starting programming and I soon had a working server.


Joseph Walton [mail] [web], a graduate who’s managed to leave the Amiga behind, only to fall into Linux and Java.


Yes, it still has known “quirks” (albeit rather fewer now). But if you want to try it out, binary and source are available. Caveat downloador.

nfsd_binary_14_Oct_2000.lzx 19257 bytes md5:eaa8bb30eb82862573497bf61c28f00c
nfsd_binary_2003-10-14.lzx 25702 bytes md5:3ad0baaae8b4d138cd54c9d58fd320ae
nfsd_source_14_Oct_2000.lha 78572 bytes md5:e99de3972e8075289ebf0b0a832769a5
nfsd_source_2003-10-14.lha 78834 bytes md5:a837a1428fa40a25d017712871bf324f
nfsd_source_2003-10-14.tar.gz 60714 bytes md5:20bc6875d646c449503a0183cca8f459

I’m developing under DiceC and the Miami SDK. Stefan Haubenthal submitted a number of patches to get it to compile under SAS with the AmiTCP SDK. I’d be particularly interested in what GCC says. If you get it to work in a different environment, please let me know (and send me any changes you made). Make sure portmap is running, make sure it’s in a directory it can write to, and make sure you understand what your nfsd.config means. Logging is minimal unless the VERBOSE argument is passed.

What? (again)

Firstly, fully compliant NFS over FFS is impossible. However, nfsd achieves a first approximation. It works for my purposes, so if there’s something missing - tell me about it! Better still, fix it yourself and send me the code. A couple of things I’d specifically like to request help with:

I’m intentionally not considering NFS v3 (rfc1813). Once of its major changes is the use of 64-bit fields throughout, and this doesn’t sit well with the current Amiga architecture and APIs. (And, to keep at the cutting edge, I’m now ignoring NFS v4 as well!)

The program is freely distributable as both binary and source. It’s GPL’d, so I’ll have to make my fortune through lucrative file server support and services.


A couple of problems people have been noticing getting this thing working:

Joseph Walton, 14th October 2000


Where were you when what happened when?