Commit Graph

38 Commits

Author SHA1 Message Date
Bruce Ashfield
cd3d19c7de conf/versions: update xen default to 4.21
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-11-21 00:10:46 -05:00
Bruce Ashfield
7cf1201bb5 conf: make xen 4.20 the default
Bumping our default version to 4.20

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-05-15 22:07:27 -04:00
Bruce Ashfield
adcb5da8b5 conf: containerd: add networking configuration
containerd doesn't do native networking confguration, it relies
on CNI.

So ensure that CNI is specified in the containerd profile.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
Bruce Ashfield
3429c73a91 conf: add container profile definitions
These definitions are selected by setting: CONTAINER_PROFILE

Once selected the VIRTUAL_RUNTIME and other considerations for
the profile are configured and used by the images in meta-virt.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
Bruce Ashfield
3857974ed9 conf: meta-virt-container.inc comment out values as reference
This .inc file is no longer the active one by default, so we
will use it a reference for the possible values. To make that
more obvious, we comment out the current values.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
Pavel Zhukov
48e559c4f4 meta-virt-container.inc: Install shadow in read-only rootfs
Podman requires /etc/sub[g]uid for rootless mode but the file is being deleted
if shadow is in ROOTFS_RO_UNNEEDED (even if different package like the
podman itself provides it) and rpm backend is used.

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-10-03 01:28:52 +00:00
Bruce Ashfield
f7bb126b39 conf/versions: set xen default to 4.19
update our default xen version to 4.19

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-08-08 15:27:45 +00:00
Bruce Ashfield
acb0653af0 conf: update xen preferred version
The xen preferred version fails to match when we add -stable
dot releases. We move the wildcard back in the preferred
version to pick them up.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-05-31 13:58:22 +00:00
Bruce Ashfield
76a13fc455 conf: bump xen preferred version to 4.18
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-03-15 17:17:20 +00:00
Bruce Ashfield
534e8b6ed7 conf: introduce container configuration values
From the configuration file itself:

 These variables represent groupings of functionality in the CNCF
 landscape. In particular, they are areas where there is a choice
 between more than one implementation or an area where abstraction
 is beneficial.

 The contents of the variables are are runtime components that
 recipes may use for RDEPENDS.

 Build dependencies are not typically flexible, so do not currently
 have DEPENDS equivalents for the components (i.e. DEPENDS on runc
 versus crun).

 Distro features such as kubernetes or other container stacks
 can be used to set different defaults for these variables.

 Note: these are "global" values, since they represent choices.
 If more than of a grouping is required on target, then the variable
 can be appended or set to multiple values. That being said, Recipes
 should generally agree on the values, hence the global namespace.
 Recipe specific choices  can still be done, but they risk
 conflicting on target or causing runtime issues / errors.

 ## CNCF "components"

 # engines: docker-ce/docker-moby, virtual-containerd, cri-o, podman
 VIRTUAL-RUNTIME_container_engine ??= "podman"
 # runtime: runc, crun, runv, runx
 VIRTUAL-RUNTIME_container_runtime ??= "virtual-runc"
 # networking: cni, netavark
 VIRTUAL-RUNTIME_container_networking ??= "cni"
 # dns: cni, aardvark-dns
 VIRTUAL-RUNTIME_container_dns ??= "cni"
 # orchestration: k8s, k3s
 VIRTUAL-RUNTIME_container_orchestration ??= "k3s"

 ## Kubernetes terminology "components"

 VIRTUAL-RUNTIME_cri ??= "containerd"
 VIRTUAL-RUNTIME_cni ??= "cni"

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-03-08 17:08:02 -05:00
Michal Orzel
7da4dbde60 xen: Bump default version to 4.17 stable
Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-01-10 13:58:07 -05:00
Bruce Ashfield
27e5ade0ab Revert "qemuboot, xen-image-minimal: enable runqemu for qemuarm Xen images"
This reverts commit 1c746a9768.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-05-09 12:22:11 -04:00
Christopher Clark
1c746a9768 qemuboot, xen-image-minimal: enable runqemu for qemuarm Xen images
The Xen hypervisor built for Arm 32-bit targets can be launched with
runqemu by providing a u-boot script and configuration for Qemu, which
enables interactive testing of Xen images.

Add qemuboot-xen-u-boot.bbclass to add a new bitbake task for generating
the u-boot script. Since this increases the number of qemuboot-specific
classes that are inherited by the xen-image-minimal recipe, change the
inherit of all of these to only apply to qemu machines with the qemuall
override.

Update qemuboot-xen-defaults.bbclass to supply working default
parameters for the qemuarm machine needed to boot successfully in
testing. Also change all the arch-specific variable overrides into
narrower qemu platform overrides instead to avoid unnecessary
interactions with other Arm platform machines.

Signed-off-by: Christopher Clark <christopher.clark@starlab.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-05-09 08:08:25 -04:00
Michal Orzel
265518e689 xen: Add recipes for stable Xen 4.16 release and update master
Add recipes for Xen 4.16 release as, according to the documentation
we shall have recipes for the latest stable major version of Xen
before the next Yocto release. Bump PREFERED_VERSION to 4.16 as well.

Take the opportunity to update SRCREV of xen recipes for master
and bump XEN_REL version to 4.17 as this is the current development
version.

Signed-off-by: Michal Orzel <michal.orzel@arm.com>
Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-04-20 14:09:23 -04:00
Bruce Ashfield
1b6e39e426 global: overrides conversion pass 2
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:18:08 -04:00
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.

This is pass one of updating the meta-virt recipes to use that
syntax.

This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions

Note: A recent bitbake is required:

    commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Sun Jul 18 12:59:15 2021 +0100

        bitbake: data_smart/parse: Allow ':' characters in variable/function names

        It is becomming increasingly clear we need to find a way to show what
        is/is not an override in our syntax. We need to do this in a way which
        is clear to users, readable and in a way we can transition to.

        The most effective way I've found to this is to use the ":" charater
        to directly replace "_" where an override is being specified. This
        includes "append", "prepend" and "remove" which are effectively special
        override directives.

        This patch simply adds the character to the parser so bitbake accepts
        the value but maps it back to "_" internally so there is no behaviour
        change.

        This change is simple enough it could potentially be backported to older
        version of bitbake meaning layers using the new syntax/markup could
        work with older releases. Even if other no other changes are accepted
        at this time and we don't backport, it does set us on a path where at
        some point in future we could
        require a more explict syntax.

        I've tested this patch by converting oe-core/meta-yocto to the new
        syntax for overrides (9000+ changes) and then seeing that builds
        continue to work with this patch.

        (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)

        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:17:53 -04:00
Christopher Clark
19347a7c4e qemuboot, xen-image-minimal: enable runqemu for qemuarm64 Xen images
The Xen hypervisor built for Arm 64-bit targets can be launched with
runqemu by providing a Device Tree binary and configuration for Qemu,
which enables interactive testing of Xen images.

Add qemuboot-xen-dtb.bbclass to add a new bitbake task for generating
the dtb file by using lopper on a device tree produced by Qemu.

Add qemuboot-xen-defaults.bbclass to supply working default parameters
for the qemuarm64 machine and general support for qemuboot for Xen,
and adjust the defaults as needed to boot successfully in testing.

Development aided by this script by Stewart Hildebrand of DornerWorks:
https://gist.github.com/stewdk/110f43e0cc1d905fc6ed4c7e10d8d35e

Signed-off-by: Christopher Clark <christopher.clark@starlab.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-07-29 10:55:56 -04:00
Christopher Clark
686adaf68e xen, rpi4: move rpi4-machine+xen-distro cfg into dynamic layer
Improve meta-virt-xen.inc by moving all the Raspberry Pi 4 config
settings to a new xen-raspberrypi4-64.inc file in the raspberrypi
dynamic layer.

The new .inc file is included only for the raspberrypi4-64 MACHINE,
so the config settings no longer need to be applied using overrides.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-29 23:05:11 -04:00
Christopher Clark
337ae20576 xen, rpi4: switch Xen-on-Rpi4 kernel preference to linux-yocto
The 5.10 version of the Linux Yocto kernel supports running Xen on the
Raspberry Pi 4, so the previous preference for linux-yocto-dev can be
replaced.

Use the ?= operator to set the kernel preference now since
meta-raspberrypi commit e0b4b8c5d introduced use of the weak default
for kernel preference in that layer to allow this here.

KERNEL_DEVICETREE needs to be set to match the build outputs of the
selected kernel, in this case: "broadcom/bcm2711-rpi-4-b.dtb"

Tested with kernel version:
 SRCREV_machine = "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651"
 SRCREV_meta="031f6c76e488a3563f35258c72ff1de3e25a512e"

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-29 23:05:11 -04:00
Bruce Ashfield
eb03484168 xen: bump default version to 4.15-stable
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-18 23:05:30 -04:00
Christopher Clark
ade44e12ad xen, xen-tools: add recipes for new stable Xen 4.15 release
The recipes are introduced as the non-default version by adding an
expressed PREFERRED_VERSION for 4.14 in:
    conf/distro/include/meta-virt-default-versions.inc

to keep the Xen 4.14 recipes as default for the Hardknott release.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-18 20:19:22 -04:00
Christopher Clark
dc08df210c xen, raspi4, linux-yocto-dev: Enable Xen on Raspberry Pi 4
Enable linux-yocto-dev as the Linux kernel for Xen on the
Raspberry Pi 4, with the bcm-2xxx-rpi4 KMACHINE and KBRANCH.

Set a Raspberry Pi SD card variable to increase the size of the boot
partition to accommodate both the kernel and the Xen hypervisor.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-08-11 15:58:37 -04:00
Christopher Clark
066225be3a xen, linux-raspberrypi4: remove linux-raspberrypi bbappends and patches
Retiring use of the downstream vendor kernel for use with Xen.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-08-11 15:58:37 -04:00
Christopher Clark
738bd333a9 xen, rpi4: use RPI_EXTRA_CONFIG and drop the rpi-config_git.bbappend
The GIC that is needed by Xen can be enabled via the rpi-config recipe
variable. Fixes the build after the upstream recipe changed recently.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-08-11 15:58:37 -04:00
Christopher Clark
b34307e2f4 xen: retire the Raspberry Pi sdcard class
The sdcard class in the meta-raspberrypi layer is now extensible with
support for adding files such as hypervisor binaries to the boot
partition, so this layer can switch to use that and drop the custom
sdcard bbclass.

Uses the new RPI_SDIMG_EXTRA_DEPENDS and DEPLOYPAYLOAD variables,
and: IMAGE_CLASS: sdcard_image-rpi-xen => sdcard_image-rpi
    IMAGE_FSTYPE: rpi-xen-sdimg => rpi-sdimg

Please note that the filename suffix of the image is changed by this.

Also apply _raspberrypi4-64 scoping to the Raspberry Pi settings.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-08-11 15:58:37 -04:00
Christopher Clark
eba860b0d9 xen: drop vars that duplicate hvc console from the r-pi4 config
These settings are not needed here. Serial configuration is done
in the bsp layer. Tested and working on the Raspberry Pi 4.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-20 14:47:15 -04:00
Christopher Clark
90f663b738 linux-raspberrypi: prefer kernel version 5.4
Aligns with Yocto's current kernel version.

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
e6e471f3fb xen, raspberry pi: add Xen-specific SD card class
At the moment the regular meta-raspberrypi SD card class does not allow
for optional inclusion of extra files in the SD card boot partition
without requiring those same files be present in the root filesystem.
This affects hypervisor binaries, such as Xen, which do not necessarily
belong within the guest filesystem.

As a workaround, inherit the sdcard_image-rpi.bbclass and clone the
main IMAGE_CMD function, adding the Xen-specific deploy that is needed.
This can be retired when the parent class has extensibility added.

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
4c0e161157 meta-virt-xen.inc: add Raspberry Pi settings
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
7f6f115d7d xen: apply layer settings when xen DISTRO_FEATURE is enabled
These settings are necessary for Xen and enabling them here, using the
same mechanism that is used by k8s in this layer, simplifies building
images for Xen.

- Ensure that Xen mode is enabled in QEMU.
- On ARM platforms: enable Flattened Device Tree (FDT) support.

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
Bruce Ashfield
7f6f7a4fce conf: remove unneeded preferred versions
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-01-22 18:09:11 +00:00
Bruce Ashfield
cceef93ba8 python: drop blinker specific version and python2 recipe
We can use the python3 variant in meta-python, and we no longe need
the specific version.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-01-21 17:48:39 +00:00
Bruce Ashfield
e54873b8b1 k8s: update to v1.17-beta
Updating to v1.17-beta, so we can drop the GO version 1.12 in
meta-virtualization.

We also drop one patch, since it is part of the upstream now.

Basic sanity tests shows no show-stopper issues.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-01-09 17:21:12 +00:00
Chen Qi
47c1870b4d meta-virt-default-versions.inc: use go 1.12 version
kubernetes could not be built correctly with go 1.13.
Use 1.12 version in layer.conf.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
2019-12-10 02:28:41 -05:00
Bruce Ashfield
c31e46fce7 conf: add k8s distro feature
Add support for a new distro feature to control kubernetes versions
and related configuration.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-10 02:25:21 -05:00
Ming Liu
0b4fe1c911 meta-virt-default-versions.inc: fix invalid python-pyyaml version
The python-pyyaml recipe in this layer is 5.1.2, fix the wrong
PREFERRED_VERSION_python-pyyaml.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-25 16:03:31 -05:00
Armin Kuster
032ef53104 refactor for YP Compat for PV changes
Only include our versions of recipes if virtualiztions is in
DISTRO_FEATURE

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-23 12:38:50 -04:00
Dmitry Eremin-Solenikov
f23b699283 conf: override SECURITY_CFLAGS for a set of recipes
Some of recipes produce errors if the distro has enabled usage of
security_flags.inc file. Fix those errors (and QA warnings) by providing
an additional include file that is require'd from conf/layer.conf.

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-04-21 21:08:06 -04:00