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

Reply via email to