🏆 Unikraft named best paper at EuroSys'21 Read more →

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+https://github.com/unikraft/kraft.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 README.md as well as the documentation in the doc/ subdirectory of the main Unikraft repository.