diff options
author | Scott Murray <scott.murray@konsulko.com> | 2024-07-08 13:09:57 -0400 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2024-07-09 09:35:44 +0000 |
commit | 06f9bd239518a68b88e6084107c499eeb113b8d6 (patch) | |
tree | 03c1577e3415c2e22348d996f5baf2f5b9a3e2f2 | |
parent | 758b0e80b1f137d2631b45e2533106bbc09f5810 (diff) |
meta-agl-kvm-demo: update for YP scarthgap and clean up
Note that while these changes do get the KVM demo images building
and bootable, some further investigation is required into getting
the guest displays rendering to the outputs.
Changes:
- Move some of the feature template and multiconfig files that were
accidentally left in meta-agl-demo to meta-agl-kvm-demo.
- Rework how MACHINE is defined for the guest multiconfig to make it
a bit more obvious how other machines could be supported. Sadly,
experimentaion has shown that trying to do a generic
virtio-${TUNE_ARCH} or similar scheme does not work with BitBake's
parser, so document that a bit.
- Update agl-qemu-runner.sh for change to IMAGE_NAME_SUFFIX default
value, and qemu now warning about using "-vga" with the "virt"
machine which does not support it.
- Add new "agl-virtio-guest" feature to AGL_FEATURES in guest to get
virtio kernel configuration.
Bug-AGL: SPEC-5201
Change-Id: I194a5c49adf6242cd91d205e19a8eecde698ad7e
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/30102
Tested-by: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
ci-image-build: Jenkins Job builder account
-rw-r--r-- | conf/include/agl-kvm.inc | 15 | ||||
-rw-r--r-- | meta-agl-kvm-demo/conf/include/agl-kvm.inc | 34 | ||||
-rw-r--r-- | meta-agl-kvm-demo/conf/include/mc-conf-agl-kvm-guest.inc (renamed from conf/include/mc-conf-agl-kvm-guest.inc) | 0 | ||||
-rw-r--r-- | meta-agl-kvm-demo/conf/include/mc-conf-default.inc (renamed from conf/include/mc-conf-default.inc) | 0 | ||||
-rw-r--r-- | meta-agl-kvm-demo/conf/multiconfig/agl-kvm-guest.conf (renamed from conf/multiconfig/agl-kvm-guest.conf) | 7 | ||||
-rwxr-xr-x | meta-agl-kvm-demo/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh | 4 | ||||
-rw-r--r-- | meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo.bb | 4 | ||||
-rw-r--r-- | templates/feature/agl-kvm/50_local.conf.inc | 4 |
8 files changed, 44 insertions, 24 deletions
diff --git a/conf/include/agl-kvm.inc b/conf/include/agl-kvm.inc deleted file mode 100644 index fadb345df..000000000 --- a/conf/include/agl-kvm.inc +++ /dev/null @@ -1,15 +0,0 @@ -DISTRO_FEATURES:append = " virtualization" - -BBMULTICONFIG = "agl-kvm-guest" - -AGL_FEATURES:append = " agl-kvm" - -# Override remote display network configuration to use KVM demo's -# network configuration -REMOTING_OUTPUT_HOST = "172.16.10.3" - -# Override cluster dashboard VIS server host for KVM demo's network -# configuration -CLUSTER_DEMO_VSS_HOSTNAME = "172.16.10.1" - -include mc-conf-${BB_CURRENT_MC}.inc diff --git a/meta-agl-kvm-demo/conf/include/agl-kvm.inc b/meta-agl-kvm-demo/conf/include/agl-kvm.inc new file mode 100644 index 000000000..894a45790 --- /dev/null +++ b/meta-agl-kvm-demo/conf/include/agl-kvm.inc @@ -0,0 +1,34 @@ +DISTRO_FEATURES:append = " virtualization" + +# +# Attempt to make guest machine derived from host machine, as opposed to +# hard-coding it in the multiconfig conf file. Unfortunately, using any +# of the expanded overrides or e.g. TUNE_ARCH from the host MACHINE seems +# not feasible here with respect to BitBake conf file parse ordering, so +# a generic mapping to e.g. virtio-${TUNE_ARCH} is sadly not currently +# workable. +# + +# Define a default, for now use one that will cause an immediate error. +AGL_GUEST_MACHINE = "INVALID" + +# Set for demo target machine +AGL_GUEST_MACHINE:h3ulcb = "virtio-aarch64" + +# Force variable value to be live before multiconfigs are parsed to make +# BitBake parser happy +AGL_GUEST_MACHINE := "${AGL_GUEST_MACHINE}" + +BBMULTICONFIG = "agl-kvm-guest" + +AGL_FEATURES:append = " agl-kvm" + +# Override remote display network configuration to use KVM demo's +# network configuration +REMOTING_OUTPUT_HOST = "172.16.10.3" + +# Override cluster dashboard VIS server host for KVM demo's network +# configuration +CLUSTER_DEMO_VSS_HOSTNAME = "172.16.10.1" + +include mc-conf-${BB_CURRENT_MC}.inc diff --git a/conf/include/mc-conf-agl-kvm-guest.inc b/meta-agl-kvm-demo/conf/include/mc-conf-agl-kvm-guest.inc index 6777b2c68..6777b2c68 100644 --- a/conf/include/mc-conf-agl-kvm-guest.inc +++ b/meta-agl-kvm-demo/conf/include/mc-conf-agl-kvm-guest.inc diff --git a/conf/include/mc-conf-default.inc b/meta-agl-kvm-demo/conf/include/mc-conf-default.inc index c60c999b3..c60c999b3 100644 --- a/conf/include/mc-conf-default.inc +++ b/meta-agl-kvm-demo/conf/include/mc-conf-default.inc diff --git a/conf/multiconfig/agl-kvm-guest.conf b/meta-agl-kvm-demo/conf/multiconfig/agl-kvm-guest.conf index 478bc5ff0..b17740c3d 100644 --- a/conf/multiconfig/agl-kvm-guest.conf +++ b/meta-agl-kvm-demo/conf/multiconfig/agl-kvm-guest.conf @@ -1,6 +1,6 @@ TMPDIR = "${TOPDIR}/tmp-${BB_CURRENT_MC}" -MACHINE = "virtio-aarch64" +MACHINE = "${AGL_GUEST_MACHINE}" # Avoid parse errors caused by linux-renesas, and all the other # random bbappends in meta-rcar-gen3. @@ -8,6 +8,8 @@ BBMASK += "meta-rcar-gen3/ meta-rcar-gen3-adas/ meta-agl-refhw-gen3/" DISTRO_FEATURES:append = " kvm virtualization" +AGL_FEATURES:append = " agl-virtio-guest" + # Use our own wks file WKS_FILE = "directdisk.wks.in" @@ -15,8 +17,7 @@ WKS_FILE = "directdisk.wks.in" AGL_DEFAULT_IMAGE_FSTYPES = "ext4" AGL_EXTRA_IMAGE_FSTYPES = "" -# Need to run QEMU with virtio-gpu device -#PACKAGECONFIG:append:pn-qemu-system-native = " virglrenderer glx gtk+" +# Need to run QEMU with virtio-gpu device, and we do not need gtk support PACKAGECONFIG:append:pn-qemu-system-target = " virglrenderer glx" # Until aglsetup.sh potentially changes to split features per multiconfig, diff --git a/meta-agl-kvm-demo/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh b/meta-agl-kvm-demo/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh index f0136b6d5..dd8205313 100755 --- a/meta-agl-kvm-demo/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh +++ b/meta-agl-kvm-demo/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh @@ -20,7 +20,7 @@ if [ -z "$QEMU_IMAGE_ARCH" ]; then QEMU_IMAGE_ARCH="virtio-${arch}" fi -disk="/var/lib/machines/${image}/${image}-${QEMU_IMAGE_ARCH}.ext4" +disk="/var/lib/machines/${image}/${image}-${QEMU_IMAGE_ARCH}.rootfs.ext4" if [ ! -f "$disk" ]; then echo "No disk image for $image" exit 1 @@ -65,7 +65,7 @@ qemu-system-${arch} \ ${QEMU_INPUT_OPT} \ -global virtio-mmio.force-legacy=false \ -device virtio-gpu-gl-device \ - -display sdl,gl=on -vga std \ + -display sdl,gl=on \ ${QEMU_AUDIO_OPT} \ ${QEMU_CAN_OPT} \ ${QEMU_EXTRA_OPT} \ diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo.bb index 33f2b921f..b9ae413e5 100644 --- a/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo.bb +++ b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo.bb @@ -30,7 +30,7 @@ IMAGE_INSTALL += " \ #IMAGE_LINGUAS = " " #NO_RECOMMENDATIONS = "1" -GUEST_MACHINE ?= "virtio-${TUNE_ARCH}" +GUEST_MACHINE ?= "${AGL_GUEST_MACHINE}" GUEST_VM1_IMAGE ?= "agl-ivi-demo-flutter-guest" GUEST_VM2_IMAGE ?= "agl-cluster-demo-flutter-guest" @@ -56,7 +56,7 @@ install_guest_images() { name=${image} rm -rf ${IMAGE_ROOTFS}/var/lib/machines/${name} install -m 0755 -d ${IMAGE_ROOTFS}/var/lib/machines/${name} - src="${TOPDIR}/tmp-${config}/deploy/images/${GUEST_MACHINE}/${image}-${GUEST_MACHINE}.ext4" + src="${TOPDIR}/tmp-${config}/deploy/images/${GUEST_MACHINE}/${image}-${GUEST_MACHINE}${IMAGE_NAME_SUFFIX}.ext4" bbnote "Installing ${src}" install -m 0600 ${src} ${IMAGE_ROOTFS}/var/lib/machines/${name}/ # Placeholder until booting from kernel in VM image is worked out diff --git a/templates/feature/agl-kvm/50_local.conf.inc b/templates/feature/agl-kvm/50_local.conf.inc index 2798116a2..64bbdbd7f 100644 --- a/templates/feature/agl-kvm/50_local.conf.inc +++ b/templates/feature/agl-kvm/50_local.conf.inc @@ -1,2 +1,2 @@ -#see meta-agl-demo/conf/include/agl-kvm.inc -require conf/include/agl-kvm.inc +# see meta-agl-demo/meta-agl-kvm-demo/conf/include/agl-kvm.inc +require meta-agl-kvm-demo/conf/include/agl-kvm.inc |