meta-virtualization/recipes-extended/xen
Michal Orzel ca4601a54a xen: Override CC and CPP in make command line
After 4.16 release, Xen build system has been changed significantly.
When building latest status of Xen it was observed that commit
317c98cb91 broke the hypervisor build on arm32 due to the change in
handling Rules.mk that xen.inc modifies to override CC and CPP.

In order to fix the issue this patch moves overriding CC and CPP from
Rules.mk to make command line by adding them to EXTRA_OEMAKE:arm.

Take the opportunity to bump SRCREV of xen_git.bb and xen-tools_git.bb
to the current status of master.

Signed-off-by: Michal Orzel <michal.orzel@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-03-10 14:42:22 -05:00
..
files xen: drop patch to workaround prelink on aarch64 2021-12-16 21:44:59 -05:00
README xen, xen-tools: Document the version update process in README 2021-04-18 20:19:28 -04:00
xen_4.14.bb xen: drop patch to workaround prelink on aarch64 2021-12-16 21:44:59 -05:00
xen_4.15.bb xen: drop patch to workaround prelink on aarch64 2021-12-16 21:44:59 -05:00
xen_git.bb xen: Override CC and CPP in make command line 2022-03-10 14:42:22 -05:00
xen-arch.inc Remove True option to getVar calls 2017-01-03 10:28:33 -05:00
xen-blktap.inc global: overrides syntax conversion 2021-08-02 17:17:53 -04:00
xen-hypervisor.inc xen: Override CC and CPP in make command line 2022-03-10 14:42:22 -05:00
xen-tools_4.14.bb xen,xen-tools: update xen to new releases 2021-11-02 09:57:03 -04:00
xen-tools_4.15.bb xen,xen-tools: update xen to new releases 2021-11-02 09:57:03 -04:00
xen-tools_git.bb xen: Override CC and CPP in make command line 2022-03-10 14:42:22 -05:00
xen-tools.inc xen-tools: Load xen related kernel modules during system boot 2022-01-18 22:43:28 -05:00
xen.inc xen: Override CC and CPP in make command line 2022-03-10 14:42:22 -05:00
xtf_git.bb global: add explicit branch to all SRC_URIs 2021-11-02 09:57:03 -04:00

Xen

For any issues with the Xen recipes please make sure you CC: christopher.w.clark@gmail.com cardoe@gentoo.org

configuring the hypervisor

Since 4.7.0 Xen supports using Kconfig to configure the hypervisor. Similarly to how the recipe for busybox works, you can provide a .config as a defconfig to override the default configuration of the hypervisor. The easiest way for you to take advantage of this is to create a .config for Xen and then copy it to your Yocto layer as 'defconfig' inside of 'recipes-extended/xen/files/' and then create a bbappend adding 'file://defconfig' to your SRC_URI.

To generate your own .config file for Xen, you can use the interactive menuconfig via bitbake:

bitbake xen -c menuconfig

Select the config settings that you want and Save the file. If you save it to the default ".config" file when prompted by menuconfig, you can find it in the 'xen' subdirectory of the build tree.

Configuration fragments are also supported. To use them you need to list the .cfg files in the SRC_URI.

security patches

The base recipe does not include security fixes that the Xen community releases as XSAs (http://xenbits.xen.org/xsa/). The easiest way to include those is to drop patches in 'recipes-extened/xen/files' and create a bbappend adding those patches to SRC_URI and they will be applied. Alternatively, you can override the SRC_URI to a git repo you provide that contains the patches.

recipe maintenance

Xen version update

The following rules shall be followed to define which versions of Xen have recipes in meta-virtualization:

  • Before a Yocto release meta-virtualization shall have recipes for:

    • the latest stable major version of Xen, and

    • the current version of the Xen master branch (known as the git recipes)

    • In addition, there may also be recipes included for the previous stable major version of Xen, in the case where the latest stable major version is new and the prior stable major version of Xen is to be the preferred version for the Yocto release

  • On Yocto LTS and the latest stable Yocto release branch, the preferred Xen major version that is present when the Yocto release is issued must stay supported and the recipes shall be regularly updated to follow updates available in the Xen stable branch for that Xen major release.

  • On Yocto LTS and the latest stable Yocto release branch, the recipes for the latest Xen major version shall also be regularly updated to follow updates available in the Xen stable branch for that Xen major release.

  • On the master / in-development Yocto branch, new Xen recipes shall be added when there is a new Xen major release.

    • depending on the timing of the next Yocto release, the new recipes may be preferred, or the prior major version recipes may remain preferred until after the Yocto release

    • the recipes for the previous Xen stable major version shall be removed from the branch when it is no longer the preferred Xen version

  • On Yocto LTS and the latest stable Yocto release branch, new Xen recipes shall be added when there is a new Xen major release.

    • The preferred version of the Xen recipes shall always stay at the same Xen major version once a Yocto release has been issued, and shall receive regular updates to track the stable Xen branch of that Xen release.

    • When new Xen recipes are added to a Yocto branch for a new Xen major version, then any older Xen recipes present, except for the original preferred version recipes, shall be marked as not updated anymore by adding a comment inside the recipes. The older recipes will not receive any build tests or be updated to follow the Xen branch.