Xen Integration Versioning
Xen functionality is broken up into a hypervisor <-> library relationship.
Even if those are decoupled, they need to be within an acceptable version distance of each other.
We currently have confirmed integration with Xen 4.19 and possibly the 4.20-rc versions that are in the works.
Changing Xen versions from 4.19
In order to make krafkit work with an older version, it must be recompiled for that version.
Fastest way to do this would be to follow this set of commands:
- Change the version to an older one:
$ find . -type f -exec sed -i 's/4.19/4.18/g' {} +
- Get the library version corresponding to that one:
$ go get -u xenbits.xenproject.org/git-http/xen.git/tools/golang/xenlight@RELEASE-4.18.0 && go mod tidy
- Rebuild the KraftKit build environment:
$ make buildenv-xen buildenv-myself-full buildenv-myself
- Start the build container:
$ docker run --rm -it --entrypoint /bin/bash -v .:/tmp/kraftkit kraftkit.sh/myself-full:latest
- Rebuild KraftKit:
$ cd /tmp/kraftkit && make kraft
That's it!
Your binary is now located at dist/kraft
.
Remember that you need to use sudo
in order to interact with Xen.