Create an image type xenguest to create a xenguest image as part of a Yocto image (add FSTYPE xenguest). The image type is using xenguest-base-image as a producer for the xenguest image directory, adds kernel defined by XENGUEST_IMAGE_KERNEL to it, adds rootfs if listed in XENGUEST_IMAGE_DISK_PARTITIONS and pack the final image with file extension .xenguest with other types of images. If initramfs is configured, a xenguest image containing the kernel with initramfs is produced. The xenguest image type is added to IMAGE_FSTYPES and IMAGE_CLASSES if arm-autonomy-guest is set in DISTRO_FEATURES. Change-Id: Ibae8a50d41375839492e43a2e28d9472dc71b4a1 Issue-Id: SCM-767 Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com> Reviewed-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
meta-arm-autonomy Yocto Layer
Introduction
This layer provides an hypervisor based solution (currently based on Xen) for autonomous system. It contains recipes and classes to build host and guests systems.
To start using this layer, please check the Quick Start Guide.
Dependencies
This layer depends on several other Yocto layers:
- meta-openembedded (https://git.openembedded.org/meta-openembedded)
- poky (https://git.yoctoproject.org/poky)
- meta-virtualization (https://git.yoctoproject.org/meta-virtualization)
Distribution Features
This layer is adding the following Yocto DISTRO_FEATURES:
-
arm-autonomy-host: this feature activates functionalities required to build an autonomy host system. It is doing the following:
- add 'xen' and 'ipv4' to DISTRO_FEATURES.
- add xen backend drivers to linux kernel configuration.
-
arm-autonomy-guest: this feature activates functionalities to run as guest of an autonomy system. It is doing the following:
- add 'ipv4' to DISTRO_FEATURES.
- add xen frontend drivers to linux kernel configuration.
- add console on hvc0 during init.
Bitbake variables
Some recipes and classes in this layer are introducing variables which can be modified by the user in local.conf. Each recipe introducing such variables has a chapter "Bitbake parameters" in its documentation.
Those documentation files should be checked for variables:
BSPs
This layer is adding the following machines:
- arm64-autonomy-guest: this machines creates a minimal BSP suitable to be used as an autonomy guest. It is in fact only activating ARM64 architecture and SMP in the linux kernel and is enabling the DISTRO_FEATURE arm-autonomy-guest.
Images
This layer is adding the following images:
- arm-autonomy-host-image-minimal: this image includes all elements required to create a minimal arm-autonomy-host system. This includes xen and tools to manage xen guests. This image depends on 'arm-autonomy-host' distribution feature.
Recipes and classes
This layer is adding the following recipes and classes:
-
xen-devicetree: this is a recipe to modify a device tree blob to add information required to boot xen and a Dom0 linux.
-
xenguest-mkimage: this is a tool to create and modify images to be used as Xen guests.
-
xenguest-manager: this is a tool to create/remove/start/stop xen guest generated using xenguest-mkimage.
Contributing
This project has not put in place a process for contributions currently. If you would like to contribute, please contact the maintainers
Maintainer(s)
- Bertrand Marquis bertrand.marquis@arm.com
- Filipe Rinaldi filipe.rinaldi@arm.com