anfs + LoadModule seems neat but looking at the anfs source code deeply. One can see that it uses a global variable Global_T defined for use in nfs_handler.c. The next catch is that one needs to tell nfs_handler what to do ie "anfs server:/amigasystem BOOT:".
Perhaps some "Global_T *g" combined with "g = (Global_T *)malloc(..)" and instead of ParseArgs() one can write DCHP_Args() or DummyArgs(). Would solve these issues?
So perhaps this would work:
* Make globals allocated with malloc()
* Write static ParseArgs()
* Call "LoadModule"
* Save the module from RAM to a file
* Write said file onto a EEPROM
* Done?
Something I just can't get is how it uses FindDosEntry() just to collision detect the local devicename and then go on with AddDosEntry() and be able to receive (DOS) packets with Wait() for said local volume, ie if one open() a file or similar. But how does Wait() know which filesystem eg "BOOT:" that is sought? nfs_handler.c has to supply it somewhere?
(
FindDosEntry() and
AddDosEntry() seems to use
struct DevInfo for "name" info)
Perhaps
dosextens.h define is the solution to dos.library existance early in the boot process?:
#define DLT_LATE 3 /* late-binding assign */
(Source code for the DLT_LATE seems to be possible to read at label "AssignLate" in the
DOS.lzx archive of
dos.library.asm)