I've started to work on this. Unfortunately syslinux is c and of course comes with all the "fun" of modifying c. Actually modifying the c isn't the issue. It's building it....
As previously mentioned there is a syslinux mod that allows dynamic loading of ELF modules. Unfortunately they must be explicitly loaded in order of dependence which is not possible with Cosmos. Cosmos plugs cause circular references with mscorlib's output.
I investigated the syslinux mod and determined that its a relatively easy change to make it load and resolve circular references. Building is another story.
First I tried with cygwin. Unfortunately cygwin by default does not install make or the build tools, and Borland's make runs instead. While this might seem obvious, at late hours it is not. After realizing what was happening, I resolved this.
But then more errors. Before building the mod, you have to build syslinux as it doesn't bring it into its dependencies.
Then ld throws an error. ld in cygwin does not support elf files. :( After pulling the modified ld that we used to use in Cosmos into the cygwin bin I was able to pass that.
But now its nasm errors.
So now I'm pulling a Fedora VM image. One would expect the makefile should build fine under Linux, but having worked with c and makefiles more times than I prefer to remember, I'm not optimistic.