Use Rumprun kernonly (-k) mode
anttikantee opened this issue · 1 comments
anttikantee commented
Currently, gorump runs on top of Rumprun's libc. That's unnecessary, theoretically speaking, and just lugs along unnecessary components. Dropping libc may also make things such as argc/argv processing and TLS handling easier.
Foreseeably, two things in the current Rumprun implementation prevent from dropping libc and running directly on top of the rump kernel/bmk:
- some system calls which are not provided by the rump kernel but are emulated by Rumprun are emulated on top of libc. A good example is
mmap
- config runs on top of libc, so e.g. network interface configuration is not possible as part of the config mechanism. It is unnecessary for Rumprun's config to fully run on top of libc.
Once the above bullet points have been addressed in Rumprun, gorump should have a look at dropping the libc/userspace layer.