Commit Graph

17 Commits

Author SHA1 Message Date
Bertrand Marquis
55ccbab52e xen: Bump SRCREV to 4.14.1 and current master
Bump SRCREV version of xen recipes to use the latest 4.14 release
(4.14.1) and the current status of master.

This allows to remove some patches related to gcc 10 support which have
now been merged in Xen.

Xen-tools is modified to include the latest tools installed with Xen:
- a rename of the bash-completion,
- a new xl example,
- xen-access,
- xen-memshare (only available on x86).

A new patch to fix python and pygrub is added as the makefiles have been
deeply modified in 4.15 which require a new patch (but doing the same).

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-04 22:41:12 -05:00
Bertrand Marquis
17660b5e8f xen: Fix python libraries installation on multilib
Fix install path for xen python libraries when multilib configuration is
activated (which is mandatory to compile xen for x86_64).
Depending on the version of Xen, the libraries are installed on lib or
on the nonarch lib directory so add both.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Change-Id: I1f7f81a4e9e1420bce55d1e4bfe03d98ac2c93a3
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-11-14 22:59:03 -05:00
Bertrand Marquis
7a8167fa82 xen: Fix x86_64 xen-tools installation
Python related things are installed in /usr/lib and not /usr/lib64 even
if xen-tools is built for x86_64 with multilib activated.
Use nonarch_libdir variable for all python related files.

Change-Id: I24e4336aaac4477efc5dc7426a6d9e909c98a6af
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-10-15 10:57:16 -04:00
Christopher Clark
0db3901a48 xen, xen-tools: move tools-specific EXTRA_OECONF to xen-tools.inc
Since the hypervisor recipe does not install init scripts, it does not
include update-rc.d.bbclass, which defines INIT_D_DIR; so move the use
of that and systemd and qemu tools-specific configure settings over into
the tools include file. Fix a hardcoded bindir while at it.

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-08-02 20:24:07 -04:00
Christopher Clark
5524c6d0fb xen-tools: packaging for new files in Xen 4.14
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-20 14:47:15 -04:00
Christopher Clark
345505989c xen, xen-tools: update revision to Xen 4.13
Pull to the current tip of the stable 4.13 branch and apply an upstream
4.14-release-acked patch to xen-tools for a compiler warning in kdd.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-06 16:25:56 -04:00
Christopher Clark
8af29790ee xen-tools: use non-busybox ifupdown tool if available
Adds: RSUGGESTS_${PN}-scripts-network = "ifupdown"

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Suggested-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-06 16:25:55 -04:00
Christopher Clark
1e6d9f67ff xen-tools: add RRECOMENDS qemu on ARM and x86 when HVM is enabled
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-06 16:25:55 -04:00
Martin Jansa
d53fd491d9 xen-tools: fix COMPATIBLE_HOST restriction for i686
* let TARGET_VENDOR to be set to something else than the default:
  meta/conf/bitbake.conf:TARGET_VENDOR = "-oe"
  like other architectures use

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-03 20:03:52 -05:00
Christopher Clark
5591f772fe xen, xen-tools: updates to the deploy task
Amend addtask for deploy in both recipes: add deploy before do_build to
ensure that it completes before the build step stamp is written.
Suggested-by: Bertrand Marquis <bertrand.marquis@arm.com>

Add comments explaining the scheduling of the deploy task to
both the hypervisor and tools recipes.

In the hypervisor build, change deploy to obtain files from ${B} rather
than ${D}, since it allows a bbappend to modify boot binary file
destinations in do_install without breaking do_deploy.

To ensure that a deployed hypervisor has matching tools in any image
being built, add a dependency to make sure that the tools have built and
been staged first:
    do_deploy[depends] += "xen-tools:do_populate_sysroot"

Also add a dependency to ensure that anything that the tools recipe
deploys, such as a XSM policy file, has been deployed first:
    do_deploy[depends] += "xen-tools:do_deploy"

Schedule deploy tasks after populate_sysroot to ensure that deployed
binaries match those staged for inclusion in the image rootfs.

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:59:23 -05:00
Christopher Clark
ea94bfc344 xen, xen-tools: remove stubs task and use multilib when necessary
The stubs task was MACHINE-specific due to the OE variables it accessed
which had forced unnecessary rebuild work in OpenXT's multi-MACHINE
builds.

The stubs task was generating a 32-bit header file to satisfy the Xen
tools firmware build to generate the hvmloader binary, which is only
needed on x86-64 targets where HVM-mode guests are enabled.

Remove this header file generation logic and similar in the configure
task, and in the cases where hvmloader is to be built use multilib to
provide a 32-bit sysroot and allow the build to obtain the needed 32-bit
materials from their source: glibc.

Building Xen tools for x86-64 with HVM-guest support enabled now
requires the following to be added to a build conf file
(eg. distro.conf, or local.conf) :

    require conf/multilib.conf
    MULTILIBS = "multilib:lib32"
    DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:59:23 -05:00
Christopher Clark
a0964e2044 xen, xen-tools: separate COMPATIBLE_HOST for hypervisor and tools
The tools have broader platform compatibility than the hypervisor.

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:59:23 -05:00
Christopher Clark
f4eec68635 xen, xen-tools: update recipes for python3
Adds patches for packaged scripts to enable deployment with python3
where they have been ported to python 3 upstream.

setuptools3 inherits distutils3 which modifies ${B}, so cd ${S} is
needed in the do_configure, do_compile and do_install steps.

Remove python 2 dependency from the Xen recipes by adding a new
separate recipe, xen-python2, for packaging the remaining optional
scripts which are yet to be ported to python 3. Package naming in
the separate recipe is chosen to support transition back into the
xen-tools recipe if the scripts are ported later.

Use RSUGGESTS to support inclusion of the xen-python2 scripts in
images that include python 2.

Drop the remus package python dependency since the script was removed
in 2014: commit 5b66f84e37a45038f9e5dae7a5768a5525d1e6ba

Add python3 RDEPENDS needed to run xenmon.

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:59:23 -05:00
Christopher Clark
593df044c6 xen-tools: change globbing to fix syntax highlighting
A text editor can interpret /* as the beginning of a comment
and then fail to find the matching */ it expects as a terminator.
This causes it to mishighlight the rest of the file. Avoid this
by using a different matching pattern.

Fixes an annoyance when editing the file. No functional change intended.

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:59:23 -05:00
Christopher Clark
fc69b5553a xen: add seabios to RRECOMMENDS of xen-tools when HVM-enabled
Launching HVM guest VMs requires a BIOS firmware binary.

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:59:23 -05:00
Christopher Clark
96e287c4b5 xen-tools: move xentrace_setmask into the xentrace package
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:59:23 -05:00
Christopher Clark
545461ba2f xen: separate recipes for hypervisor and tools; switch to git as source
This change changes the names of many packages produced: the
xen-tools recipe now builds packages previous built by the xen
recipe, so the package prefix changes from "xen-" to "xen-tools-".
A temporary bbappend is provided for qemu to ease the transition.

Multiple motivations for recipe separation:
- improves efficiency of incremental build and development
- supports building the hypervisor and tools with different toolchains
  and for different architectures

Switch to using a git recipe on the Xen stable branch:
- enables easier tracking of critical XSA security updates applied
  upstream by just advancing SRCREV along the branch
Revision has been set to the tip of the stable-4.12 branch, which
has the one XSA-312 patch applied on top of RELEASE-4.12.2.

The recipe refactor externalizes the block tap components, to enable optional
building of blktap in a separate recipe outside xen-tools, needed by OpenXT.

xenstored is made a virtual package to support switching between
alternative implementations (several exist).

Update xen-image-minimal to install the xen-tools package, which
replaces what was previously xen-base.

Determine the flask policy filename, which is Xen-version specific,
using the same method as the Xen build system.

qemu: update PACKAGECONFIG[xen] for xen package renaming: allows builds
to continue correctly in the meantime while openembedded core and poky
are updated.

OpenXT ticket reference: OXT-1694

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27 16:59:23 -05:00