This repo does not contain any source code from ClickOS, but simply contains the means to build ClickOS images within a Docker container.
-
sysml- This tag contains a prebuilt ClickOS image that uses the default build args. The idea for is not only to distribute images, but to make building reproducibly simple.
- To simple get the ClickOS image, run the following command:
docker run --rm -v $(pwd):/output willfantom/clickos:sysml - To build with arguments defined by you, run the following with any build args you need (stats_level just an example):
docker build --rm -f Dockerfile --build-arg STATS_LEVEL=1 -t clickos:custom .
-
development- This tag provides an image for ClickOS development. It has the Xen and MiniOS sources and a built toolchain. It only needs you to bring your own ClickOS.
- To get started, from your root ClickOS directory, run:
docker run --rm -it -v $(pwd):/sources/clickos willfantom/clickos:development- The Xen/MiniOS version can also be important, so change these with the build args if needed.
docker build --rm -f Dockerfile.dev --build-arg MINIOS_BR=<other-br> -t clickos:dev .
- The Xen/MiniOS version can also be important, so change these with the build args if needed.
| ARG | Tags | Description | Default |
|---|---|---|---|
XEN_REPO |
sysml,development |
The remote git repo containing the Xen source code | https://github.com/xen-project/xen |
XEN_BR |
sysml,development |
The branch or tag of the Xen source repo to use | RELEASE-4.11.4 |
MINIOS_REPO |
sysml,development |
The remote git repo containing the MiniOS source code | https://github.com/sysml/mini-os |
MINIOS_BR |
sysml,development |
The branch or tag of the MiniOS source repo to use | master |
CLICKOS_REPO |
sysml |
The remote git repo containing the ClickOS source code | https://github.com/willfantom/clickos |
CLICKOS_BR |
sysml |
The branch or tag of the ClickOS source repo to use | latest |
STATS_LEVEL |
sysml |
The stats level to enable for ClickOS: 0: Normal Stats Level 1: Collect per-element packet counts 2: Collect CPU cycles per-element |
0 |
EXTRA_FLAGS |
sysml |
Any extra flags as a string for the configure stage (e.g. --with-netmap --enable-ipsec) |
The main tag here
sysmldoes not use thesysml/clickosrepo currently as it does not compile with themasterMiniOS branch. It uses pretty much the same code though, just configured so it can compile.