diff --git a/build_library/disk_util b/build_library/disk_util index f94317e3c1..8550605a99 100755 --- a/build_library/disk_util +++ b/build_library/disk_util @@ -799,7 +799,7 @@ def Verity(options): '--hash-offset', part['fs_bytes'], loop_dev, loop_dev]).decode('utf8') print(verityout.strip()) - m = re.search("Root hash:\s+([a-f0-9]{64})$", verityout, re.IGNORECASE|re.MULTILINE) + m = re.search(r'Root hash:\s+([a-f0-9]{64})$', verityout, re.IGNORECASE|re.MULTILINE) if not m: raise Exception("Failed to parse verity output!") diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index 873e2beff5..17a0c024a2 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -299,12 +299,15 @@ IMG_hetzner_OEM_SYSEXT=oem-hetzner ## hyper-v IMG_hyperv_DISK_FORMAT=vhd -IMG_hyperv_OEM_PACKAGE=oem-hyperv +IMG_hyperv_OEM_USE=hyperv +IMG_hyperv_OEM_PACKAGE=common-oem-files +IMG_hyperv_OEM_SYSEXT=oem-hyperv ## hyper-v vhdx IMG_hyperv_vhdx_DISK_FORMAT=vhdx -IMG_hyperv_vhdx_OEM_PACKAGE=oem-hyperv - +IMG_hyperv_vhdx_OEM_USE=hyperv +IMG_hyperv_vhdx_OEM_PACKAGE=common-oem-files +IMG_hyperv_vhdx_OEM_SYSEXT=oem-hyperv ## cloudsigma IMG_cloudsigma_DISK_FORMAT=qcow2 diff --git a/changelog/changes/2025-08-29-hyperv-sysext.md b/changelog/changes/2025-08-29-hyperv-sysext.md new file mode 100644 index 0000000000..066d933a37 --- /dev/null +++ b/changelog/changes/2025-08-29-hyperv-sysext.md @@ -0,0 +1 @@ +- Hyper-V images now use a systemd-sysext image for layering additional platform-specific software on top of `/usr` diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r10.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r11.ebuild similarity index 99% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r10.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r11.ebuild index dbf575dbf3..d77890980e 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r10.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r11.ebuild @@ -48,6 +48,7 @@ ARM64_ONLY_OEMIDS=( AMD64_ONLY_OEMIDS=( digitalocean gce + hyperv vmware ) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.1.0-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.2.0.ebuild similarity index 58% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.1.0-r1.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.2.0.ebuild index 079bcd7984..99dd94e836 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.1.0-r1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.2.0.ebuild @@ -1,7 +1,7 @@ # Copyright (c) 2013 CoreOS, Inc.. All rights reserved. # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 DESCRIPTION="OEM suite for Hyper-V" HOMEPAGE="" @@ -12,21 +12,11 @@ SLOT="0" KEYWORDS="amd64" IUSE="" -# no source directory -S="${WORKDIR}" - RDEPEND=" app-emulation/hv-daemons " -src_prepare() { - default - sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \ - "${FILESDIR}/oem-release" > "${T}/oem-release" || die -} +OEM_NAME="Microsoft Hyper-V" -src_install() { - insinto "/oem" - doins "${FILESDIR}/grub.cfg" - doins "${T}/oem-release" -} +# no source directory +S="${WORKDIR}"