Getting Started

The easiest way to get started with Unikraft is to use the command-line utility kraft, which is a companion tool used for defining, configuring, building, and running Unikraft applications. With kraft you can seamlessly create a build environment for your unikernel and painlessly manage dependencies for its build.

Installing kraft

The kraft tool and Unikraft build system have a number of package requirements; please run the following command (on apt-get-based systems) to install the requirements:

apt-get install -y --no-install-recommends build-essential libncurses-dev libyaml-dev flex git wget socat bison unzip uuid-runtime python3 python3-setuptools;

To install kraft simply run:

pip3 install git+

You can then type kraft to see its help menu:

Usage: kraft [OPTIONS] COMMAND [ARGS]...

--version                       Show the version and exit.
-C, --ignore-git-checkout-errors
                                Ignore checkout errors.
-X, --dont-checkout             Do not checkout repositories.
-v, --verbose                   Enables verbose mode.
-h, --help                      Show this message and exit.

build      Build the application.
clean      Clean the application.
configure  Configure the application.
init       Initialize a new unikraft application.
list       List architectures, platforms, libraries or applications.
run        Run the application.
up         Configure, build and run an application.

Influential Environmental Variables:
UK_WORKDIR The working directory for all Unikraft
            source code [default: ~/.unikraft]
UK_ROOT    The directory for Unikraft's core source
            code [default: $UK_WORKDIR/unikraft]
UK_LIBS    The directory of all the external Unikraft
            libraries [default: $UK_WORKDIR/libs]
UK_APPS    The directory of all the template applications
            [default: $UK_WORKDIR/apps]
KRAFTCONF  The location of kraft's preferences file
            [default: ~/.kraftrc]

For help using this tool, please open an issue on Github:

Building an Application

The simplest way to get the sources for, build and run an application is by running the following commands:

kraft list

For more information about that command type kraft up -h. For more information about kraft type kraft -h or read the documentation at Unikraft’s website. If you find any problems please fill out an issue. Thank you!


Please refer to the as well as the documentation in the doc/ subdirectory of the main Unikraft repository.