Hey, I am currently working on this:
To tell the second Ned about your new FS, you will have to link it with libmount (l4/pkg/libc_backends/lib/mount) and provide an fstab file during startup in the Lua config as this:
ldr:startv( { caps = {}, log = { "myapp", "red" } }, "rom/myapp", { FSTAB_FILE="rom/myfstab.fstab" });
This lib will then mount the new file system locally into your application (e.g., the second ned instance).
Ned doesn't need to know about this filesystem, but my manager application and the l4re thread of the new task do.
Linking and using the manager with libmount works fine.
But I have some problems linking l4re with libmount. Mostly undefined references:
Initially, I tried simply adding libmount to REQUIRES_LIBS of the makefile, but that gave a lot of linker errors. So I replaced most of the minimal lib versions with the full- fledged ones: REQUIRES_LIBS := libc l4re-util libstdc++ libloader \ cxx_libc_io libc_be_minimal_log_io
Without libmount, this also builds fine. But after adding libmount, this leads to undefined references of open, fstat, mount and close. After adding libc_be_l4refile to the list (since it seems to contain the missing symbols), l4re_env_posix_vfs_ops is undefined. And since this is AFAIK only found in libl4re-vfs, I tried adding it, but then the build stops with this error: "src/l4/mk/binary.inc:335: *** Never include 'libl4re-vfs'!. Stop."
So, how can I link l4re (found in pkg/l4re_kernel) successfully with libmount?
Thanks, Josef