Hi all, Today I upstreamed a flag (-k) to build-rr.sh which builds the rump kernel and libbmk_rumpuser without libc, rumprun_* or app-tools. [1]
As opposed to normal rumprun unikernel use, which is in a way supposed to be transparent for the application, the idea here is that the client code uses the rump kernel (and platform) directly, and provides all other code it needs itself. I've been using this for my ongoing summer of code project. The flag excludes all the "userland" libraries, but includes the libcompiler_rt for convenience so one can link together a bootable image. The tests/ folder contains an example with Makefile. It can also be built using "buildtests.sh -k $MACHINE hw" and is now part of the Travis script. Currently, only the 'hw' platform is supported. Xen needs some additional work, as some mini-os header (mini-os/types.h) files include some userland headers. Next up I also plan to unify the name of the entry function given to bmk_sched_mainthread (the one defined in platform/*/init.c, which is excluded in -k mode and supposed to provided by the client code if -k is used). Cheers, Sebastian [1] https://github.com/rumpkernel/rumprun/pull/46
