Rumprun Nginx Unikernel

From JMK Wiki


  • genisoimage
emerge -av cdrkit
emerge -av libisoburn

Download and build rumprun:

mkdir -p /usr/local/src/rump
cd /usr/local/src/rump
git clone --recursive
cd rumprun
./ -qq xen -- -F ACLFLAGS="-march=native -O2 -pipe -fomit-frame-pointer -mno-tls-direct-seg-refs"

Optionally build and run tests (ctor_test fails to build for me, but I don't really care)

./tests/ xen
./tests/ xen

Add app-tools to the path


Download and build rump-nginx

cd /usr/local/src/rump
git clone --recursive
cd rump-nginx
RUMPRUN_CC=rumprun-xen-cc make

Baking the unikernel

rumpbake -T xen_pv -o bin/nginx.baked bin/nginx

Running the unikernel

rumprun xen -M 128 -di -n inet,static,, -b images/stubetc.iso,/etc -b images/data.iso,/data -- bin/nginx.baked -c /data/conf/nginx.conf

Creating ISO

rumprun iso -W xen0,inet,static,, -b images/stubetc.iso,/etc -- bin/nginx.baked -c /data/conf/nginx.conf