The rkapps directory (in
usr/rkapps) is an empty project aside from the
build.rs file. The build file contains the steps to clone and build a few
different well-known programs (memcached, LevelDB, Redis etc.) that we use to
test user-space and rumprt.
The checked-out program sources and binaries are placed in the following location as part of your build directory:
target/x86_64-nrk-none/<debug | release>/build/rkapps-$HASH/out/
The build for these programs can be a bit hard to understand. The following steps happen:
- Clone the packages repo which has build instructions for different POSIX programs running on rumpkernels.
- For each application that we want to build (enabled/disabled by feature
makein the respective directory. This will compile the application with the appropriate rumpkernel toolchain. The toolchain be found in a similar path inside the build directory:
target/x86_64-nrk-none/<debug | release>/build/rumpkernel-$HASH
- Linking binaries with vibrio which provides the low-level runtime for rumpkernels.
For more information on how to run rkapps applications, refer to the Benchmarking section.