d3ab3ede2e
different code path than using dlopen() before rump_init(), since the former uses the in-kernel linker and the latter links the object in rtld). So: golem> ./rump_server -l librumpvfs.so -m /sys/modules/tmpfs/tmpfs.kmod unix:///tmp/commsuck ==> golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat NAME CLASS SOURCE REFS SIZE REQUIRES suser secmodel builtin 0 - - tmpfs vfs filesys 0 16713 - wapbl vfs builtin 0 - - Source is filesys instead of builtin, as expected. Notably, for -m you *must* use -l librumpvfs.so. This is because you need VFS in your kernel to be able to load modules from the file system. In a regular kernel "librumpvfs.so" is linked at kernel build time and loaded by the bootloader. Here we use dlopen() for both effects (the other choices would have been to link rump_server with -lrumpvfs, but that would limit the flexibility, or link tmpfs.kmod directly into the binary, but that would limit the flexibility even more). |
||
---|---|---|
bin | ||
common | ||
compat | ||
crypto | ||
dist | ||
distrib | ||
doc | ||
etc | ||
external | ||
extsrc | ||
games | ||
gnu | ||
include | ||
lib | ||
libexec | ||
regress | ||
rescue | ||
sbin | ||
share | ||
sys | ||
tests | ||
tools | ||
usr.bin | ||
usr.sbin | ||
x11 | ||
build.sh | ||
BUILDING | ||
Makefile | ||
Makefile.inc | ||
UPDATING |