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:32:55 +0000 |
commit | 0cbf31a2335287a817fd06eb4410c1c883aacfcb (patch) | |
tree | 360eeb487faf6eef327c1cf67146c51c47ce0d19 | |
parent | cbd12fb404169e9b755b87ac1d1280cbd90a4729 (diff) |
meta-agl-kvm-demo: update for YP scarthgap and clean upricefish_18.0.0ricefish/18.0.018.0.0
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/+/30117
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: 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 |