/yoxen

Primary LanguageBitBake

Yocto Xen image builder

This is a Yocto/OE layer to build Xen enabled Linux distros.

More information on the Yocto project can be found here: Yocto Project Documentation

Dependencies

This layer depends on:

Users can setup their Yocto environment manually or use the provided Kas scripts to automatically clone and setup the necessary layers.

Prerequisites for the build host

For Ubuntu hosts, the list of packages is listed in apt-requirements. Python requirements are listed in py-requirements.

To install them do the following:

sudo apt-get install -y $(cat apt-requirements)
pip install -r py-requirements

For more details see the following:

Usage

First, edit kas/yoxen-arm64.yml and kas/yoxen-x86_64.yml to point to your custom Xen repos.

To build an image for ARM64:

$ kas build kas/yoxen-arm64.yml

To build an image for x86:

$ kas build kas/yoxen-x86_64.yml

Sometimes Xen and the Xen-tools fail to build due to some the subdirectory qemu-xen-dir being in some way not up to date. If this happens, try the following.

$ touch your-xen-src/qemu-xen-dir
$ kas shell kas/yoxen-arm64.yml -c "bitbake -c cleanall xen-tools"
$ kas build kas/yoxen-arm64.yml

SDK

To generate an SDK for ARM:

$ kas shell kas/yoxen-arm64.yml -c "bitbake -c populate_sdk core-image-minimal"

For x86:

$ kas shell kas/yoxen-x86_64.yml -c "bitbake -c populate_sdk xen-image-minimal"

Ubuntu 2024

If bitbake fails with permission denied, this is a workaround:

sudo apparmor_parser -R /etc/apparmor.d/unprivileged_userns