diff --git a/changelog/bugfixes/2025-12-29-gce-udev.md b/changelog/bugfixes/2025-12-29-gce-udev.md new file mode 100644 index 00000000000..d8458d9f4db --- /dev/null +++ b/changelog/bugfixes/2025-12-29-gce-udev.md @@ -0,0 +1 @@ +- Updated the GCE udev disk rules to include NVMe disks. 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..02b3af8f09d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/Manifest @@ -0,0 +1 @@ +DIST google-guest-configs-20251014.00.tar.gz 49030 BLAKE2B 20330b57868814e2e4278a15355d8b8a2d6f065049bbe876f8fa48c70f54f65ed98537c5a6a5603e38967c12fd4953c6d06232d6dae691ae81e0f5111108e9c6 SHA512 0040ca6cc6b18c0cb0afaa2febd1bef61a1a62e6f277ef8c9ed01254194a7802ff19baa99bcb8ba64c96e1113f6686a63a23116aa1c7cd5b6caa787ae4e107fa diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/google-guest-configs-20251014.00.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/google-guest-configs-20251014.00.ebuild new file mode 100644 index 00000000000..e27851a8931 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/google-guest-configs-20251014.00.ebuild @@ -0,0 +1,56 @@ +# Copyright 2025 The Flatcar Container Linux Maintainers +# Distributed under the terms of the Apache License 2.0 + +# This only installs the udev disk rules because the network rules are not +# GCE-specific. The disk rules need to be in the initrd, so we cannot separate +# this package from other platforms by putting it in the GCE OEM image. We could +# split this package in two, but the network rules don't seem essential. + +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=" + sys-apps/nvme-cli +" +# sys-apps/ethtool +# sys-apps/iproute2 + +PATCHES=( +# "${FILESDIR}"/${PN}-20211116.00-sysctl.patch +) + +src_install() { + exeinto "$(get_udevdir)" + doexe src/lib/udev/google_nvme_id + + udev_dorules src/lib/udev/rules.d/65-gce-disk-naming.rules +# udev_dorules src/lib/udev/rules.d/75-gce-network.rules + + insinto /etc/sysctl.d +# doins src/etc/sysctl.d/60-gce-network-security.conf + +# dobin src/usr/bin/google_set_multiqueue +# dobin src/usr/bin/google_optimize_local_ssd # Already in google-compute-engine +# dobin src/usr/bin/gce-nic-naming + + insinto /usr/lib/dracut/modules.d + doins -r src/lib/dracut/modules.d/* +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/metadata.xml new file mode 100644 index 00000000000..3abd52a6f70 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/google-guest-configs/metadata.xml @@ -0,0 +1,7 @@ + + + + + GoogleCloudPlatform/guest-configs + + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.62.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.62.ebuild index 8b9cea19187..c3d5342b163 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.62.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.62.ebuild @@ -52,7 +52,10 @@ DEPEND=" >=sys-kernel/bootengine-0.0.38-r37:= >=sys-kernel/coreos-firmware-20180103-r1:= virtual/udev - amd64? ( sys-firmware/intel-microcode:= ) + amd64? ( + app-admin/google-guest-configs + sys-firmware/intel-microcode:= + ) " src_prepare() {