diff --git a/changelog/bugfixes/2026-05-15-gce-udev.md b/changelog/bugfixes/2026-05-15-gce-udev.md new file mode 100644 index 00000000000..cb9ba5067e0 --- /dev/null +++ b/changelog/bugfixes/2026-05-15-gce-udev.md @@ -0,0 +1 @@ +- Updated the GCE udev disk rules to include NVMe disks. ([scripts#3606](https://github.com/flatcar/scripts/pull/3606)) diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/Manifest b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/Manifest new file mode 100644 index 00000000000..f6e9340a421 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/Manifest @@ -0,0 +1 @@ +DIST google-guest-configs-20260504.00.tar.gz 50769 BLAKE2B 672e6a349388501c35d575d42c30635ef7ffd988b6b3de8980fe8242e66655dc8e19858722c95eb1408ff19bc4126cea1478bbd18207b200a6a171f3b0e8461b SHA512 81e569274413d122c9ef93c2e9077f0c94625b4cce1296084eb1dce2363007ae9a775ce999d6cbf5f9160c5db9ddb52ee703dc7b4fa627b531125cb9c2795952 diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/files/google-guest-configs-dracut-deps.patch b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/files/google-guest-configs-dracut-deps.patch new file mode 100644 index 00000000000..04be008feb3 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/files/google-guest-configs-dracut-deps.patch @@ -0,0 +1,25 @@ +From a848f8f181e2a7080a7ee06fb87ffbfe05e66a24 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Tue, 20 Jan 2026 15:55:29 +0000 +Subject: [PATCH] dracut: Install dd and ln as these are used by google_nvme_id + +I found that the disk name symlink was missing on Flatcar due to the +lack of dd. I thought about using pure Bash, but it can't handle the +null bytes. I also thought about using tail, but this is just as likely +to be missing. + +I've also added ln for good measure. +--- a/src/lib/dracut/modules.d/30gcp-udev-rules/module-setup.sh ++++ b/src/lib/dracut/modules.d/30gcp-udev-rules/module-setup.sh +@@ -4,7 +4,7 @@ + + # called by dracut + install() { +- inst_multiple nvme grep sed ++ inst_multiple nvme dd ln grep sed + inst_simple /usr/lib/udev/google_nvme_id + inst_simple /usr/lib/udev/rules.d/65-gce-disk-naming.rules + } +-- +2.51.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/google-guest-configs-20260504.00.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/google-guest-configs-20260504.00.ebuild new file mode 100644 index 00000000000..dd00f94cdc9 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/google-guest-configs-20260504.00.ebuild @@ -0,0 +1,56 @@ +# Copyright 2026 The Flatcar Container Linux Maintainers +# Distributed under the terms of the Apache License 2.0 + +# IMPORTANT! When bumping, ensure that the Dracut modules do not install files +# that would make runtime changes to systems to other than GCE VMs because the +# initrd is shared between image types. The udev disk rules are currently safe. + +EAPI=8 + +inherit udev + +DESCRIPTION="Configuration and scripts to support the Google Compute Engine guest environment" +HOMEPAGE="http://github.com/GoogleCloudPlatform/guest-configs" +SRC_URI="https://github.com/GoogleCloudPlatform/guest-configs/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/guest-configs-${PV}" + +LICENSE="Apache-2.0 BSD ZLIB" +SLOT="0" +KEYWORDS="amd64" + +RDEPEND=" + ! + + + + GoogleCloudPlatform/guest-configs + + diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r4.ebuild similarity index 81% rename from sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r3.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r4.ebuild index 2235e90a901..76c1ada09d8 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r3.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r4.ebuild @@ -28,3 +28,10 @@ RDEPEND=" sys-apps/iproute2 sys-apps/shadow " + +src_install() { + distutils-r1_src_install + + # Newer versions are installed by app-admin/google-guest-configs. + rm -v "${ED}"/usr/bin/google_{optimize_local_ssd,set_multiqueue} || die +} diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/Manifest index 9211eab71c9..991ffcb0592 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/Manifest @@ -1 +1 @@ -DIST coreos-init-9c940ec78b8eb513397ece28bd6cb0d2af6cc342.tar.gz 60774 BLAKE2B b141646a9ff796825cd0726413c3deacc3d60ac1e9dedbfa72e2f563c4b10ef5f7db5dcafefae75f83a21dd83d811c73611598c27faf70e7d486ffff9d62377e SHA512 4532a1069313cacf2f2d92a71859f6550e87e6cfe1966326b2bfa0279770f2e58d9956ccebc1ddebca2336a8d0e0bc778e73fa0d79c63374a23de5c2b8638c9b +DIST coreos-init-eb859e2b0c6eed7300801e18f878540b650b5950.tar.gz 60327 BLAKE2B f235556b1bfb1912205a96ab6aaf7bc62523864e1f60e3d6e8258216784ed856fd9004e99dc1000aa18c10eb7989c318f9ed46fdc0dc18bf3930003ee1aa611b SHA512 1ad43aaa9720fb171b8a3b10ae403b2d4c7469ef23d029c21c10672db8d1e66c1367c9e8203ab284d1b8b19f64a8e6a60dd81e6b531de12175e6923917f23964 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r204.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r205.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r204.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r205.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild index 73bd2cacb04..6da61fce23e 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/flatcar/init.git" inherit git-r3 else - EGIT_VERSION="9c940ec78b8eb513397ece28bd6cb0d2af6cc342" # flatcar-master + EGIT_VERSION="eb859e2b0c6eed7300801e18f878540b650b5950" # flatcar-master SRC_URI="https://github.com/flatcar/init/archive/${EGIT_VERSION}.tar.gz -> ${PN}-${EGIT_VERSION}.tar.gz" S="${WORKDIR}/init-${EGIT_VERSION}" KEYWORDS="amd64 arm arm64 x86" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20190124.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20260504.ebuild similarity index 86% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20190124.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20260504.ebuild index 444f1ee7649..1685f4acac9 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20190124.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20260504.ebuild @@ -3,6 +3,8 @@ # Copyright (c) 2020 Kinvolk GmbH. All rights reserved. # Distributed under the terms of the GNU General Public License v2 +# Version this package using the greater version of its date-based dependencies. + EAPI=8 inherit systemd @@ -16,7 +18,8 @@ SLOT="0" KEYWORDS="amd64" RDEPEND=" - ~app-emulation/google-compute-engine-${PV} + app-admin/google-guest-configs + app-emulation/google-compute-engine " SYSEXT_NAME="Google Compute Engine" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-admin/google-guest-configs b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-admin/google-guest-configs new file mode 100644 index 00000000000..06cf5a50af3 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-admin/google-guest-configs @@ -0,0 +1,7 @@ +cros_post_pkg_preinst_rm_from_board_sysroot() { + [[ $(flatcar_target) == generic-board ]] || return + + # Dracut copies all sysctl files unconditionally, but our initrd is shared, + # and these rules are GCE-specific, so apply them from the OEM sysext. + rm -r "${ED}"/usr/lib/sysctl.d/ || die +} diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/Manifest index d8f595d3bdf..8c98ec9901e 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/Manifest @@ -1 +1 @@ -DIST flatcar-baselayout-9af25c8fed49fc58467ff82b452d6c0fe20188e6.tar.gz 38224 BLAKE2B 9f229b588b8a1b2584d038e83a647107acffa851b0f746dae9b0d3cb33537b6626dde5adbf904470a2be86ec89a5a5de5ad84c82d334837c75152b85cd9f621f SHA512 a32da0a455af0d52d3d0c32b11ab4fdf8b3482fb47040c2e9ac28a1f3d978fe96ce53d288f4a33f7b28999b1f72f01e1265c17986c595f203a23f44cf82c68e6 +DIST flatcar-baselayout-9cd8630fd00a78f1af2812791dda0331db963ba7.tar.gz 38900 BLAKE2B 256c5c373f717cd0ec5c68d723f47951be95ec691040124bc1259cf9453a2f3a5ac798c2c6ba4f5722b777f95eabeb0a4b00100b3700893da096b12efc6b8031 SHA512 cebb53beb7ac41c00083dbe89e0c263911423d95d21ffb27541c0449bc10a1c7b4bc383e4c9256afa4d87a3bebb54f7e08691e785aea0afc3c53e5eb71562626 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r21.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r22.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r21.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-3.6.8-r22.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild index 1ff5db96a49..4b53d97abbe 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/flatcar/baselayout.git" inherit git-r3 else - EGIT_VERSION="9af25c8fed49fc58467ff82b452d6c0fe20188e6" # flatcar-master + EGIT_VERSION="9cd8630fd00a78f1af2812791dda0331db963ba7" # flatcar-master SRC_URI="https://github.com/flatcar/baselayout/archive/${EGIT_VERSION}.tar.gz -> flatcar-${PN}-${EGIT_VERSION}.tar.gz" S="${WORKDIR}/${PN}-${EGIT_VERSION}" KEYWORDS="amd64 arm64" diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest index cd067e0e489..e593c1d2195 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest @@ -1 +1 @@ -DIST bootengine-a19dace6ad74359e6c3677fccadc36a7ce09767a.tar.gz 37827 BLAKE2B fa3a4a348bfaf7acc8fc0f9002da040580969801da22121f3d74f3cf0943e7d99d681a564e912260d453261e3483dfc7b3c07a404d8f8048a5bd3353c4f31791 SHA512 e5693fa5bcdd2023857954c2234f290bea28f9416ec31c469e4545756f5630fa5b7ce701f3a7c48797698066de090f9aea349fcc9a000306fdb4a145d0fb38c4 +DIST bootengine-a3b96e3cfd7b8c3e0ff38540831fb0de98487404.tar.gz 37928 BLAKE2B e3d9965d21382d7e88419cb5f253c5907fb4af1ced7a0354711fed7374f6086298e49cc5c94ee565804b6f5bcb5ee7caf3762de39e24a947cba676bb5690fca8 SHA512 b47b78375b40ad4e78a44658172c780dce1bcae4b0eb89dbeb01c3dba98dc0cba8216334946ea650430e86e905a5c35959f3ad0c4aa38a9461c061a10032d53b diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r43.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r44.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r43.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r44.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild index 4eec788a2f6..00ebfeb1eee 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/flatcar/bootengine.git" inherit git-r3 else - EGIT_VERSION="a19dace6ad74359e6c3677fccadc36a7ce09767a" # flatcar-master + EGIT_VERSION="a3b96e3cfd7b8c3e0ff38540831fb0de98487404" SRC_URI="https://github.com/flatcar/bootengine/archive/${EGIT_VERSION}.tar.gz -> ${PN}-${EGIT_VERSION}.tar.gz" S="${WORKDIR}/${PN}-${EGIT_VERSION}" KEYWORDS="amd64 arm arm64 x86" diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.87.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.87.ebuild index 49be09709cc..80f2e61a9fc 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.87.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.87.ebuild @@ -56,7 +56,10 @@ DEPEND=" >=sys-kernel/coreos-firmware-20180103-r1:= sys-process/procps virtual/udev - amd64? ( sys-firmware/intel-microcode:= ) + amd64? ( + app-admin/google-guest-configs + sys-firmware/intel-microcode:= + ) " src_prepare() {