Skip to content

Conversation

chewi
Copy link
Contributor

@chewi chewi commented Oct 10, 2025

Partially resync coreos-firmware with Gentoo

Hopefully, we can eventually create an env file so that we can use the upstream ebuild directly, but this at least brings them closer in line.

How to use

Simply emerge coreos-firmware. Install without these changes first to easily see that the result if the same.

Testing done

I have manually done the above and found that the set of installed files it the same. I will now GHA now.

  • Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update) -- N/A
  • Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

Here is the new diff with upstream:

 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
-inherit dist-kernel-utils eapi9-ver linux-info mount-boot savedconfig
+
+# Flatcar: Tell linux-info where to find the kernel source/build
+KERNEL_DIR="${ESYSROOT%/}/usr/src/linux"
+KBUILD_OUTPUT="${ESYSROOT%/}/var/cache/portage/sys-kernel/coreos-kernel"
+inherit dist-kernel-utils linux-info mount-boot savedconfig
 
 # In case this is a real snapshot, fill in commit below.
 # For normal, tagged releases, leave blank
 MY_COMMIT=""
 
+# Flatcar: use linux-firmware instead of ${PN}, coreos-firmware to avoid naming conflicts.
 if [[ ${PV} == 99999999* ]]; then
        inherit git-r3
-       EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/${PN}.git"
+       EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"
 else
        if [[ -n "${MY_COMMIT}" ]]; then
-               SRC_URI="https://gitlab.com/kernel-firmware/linux-firmware/-/archive/${MY_COMMIT}/linux-firmware-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
-               S="${WORKDIR}/${PN}-${MY_COMMIT}"
+               SRC_URI="https://gitlab.com/kernel-firmware/linux-firmware/-/archive/${MY_COMMIT}/linux-firmware-${MY_COMMIT}.tar.bz2 -> linux-firmware-${PV}.tar.bz2"
+               S="${WORKDIR}/${MY_COMMIT}"
        else
-               SRC_URI="https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/${P}.tar.xz"
+               SRC_URI="https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/linux-firmware-${PV}.tar.xz -> linux-firmware-${PV}.tar.xz"
        fi
-
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+       KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
 fi
 
 DESCRIPTION="Linux firmware files"
@@ -44,6 +48,10 @@
        deduplicate? ( app-misc/rdfind )
        ${PYTHON_DEPS}"
 
+
+# Flatcar: depend on Kernel source and modules
+DEPEND=">=sys-kernel/coreos-modules-6.1:=
+       sys-kernel/coreos-sources"
 #add anything else that collides to this
 RDEPEND="!savedconfig? (
                redistributable? (
@@ -72,9 +80,9 @@
 "
 
 QA_PREBUILT="*"
-PATCHES=(
-       "${FILESDIR}"/${PN}-copy-firmware-r9.patch
-)
+
+# Flatcar: source name is linux-firmware, not coreos-firmware
+S="${WORKDIR}/linux-firmware-${PV}"
 
 pkg_pretend() {
        if use initramfs; then
@@ -105,39 +113,86 @@
        linux-info_pkg_setup
 }
 
+# Flatcar: create symlinks for cxgb and ice firmwares
+CXGB_VERSION="1.27.5.0"
+ICE_DDP_VERSION="1.3.43.0"
+
 src_unpack() {
        if [[ ${PV} == 99999999* ]]; then
                git-r3_src_unpack
        else
                default
                # rename directory from git snapshot tarball
-               if [[ ${#GIT_COMMIT} -gt 8 ]]; then
-                       mv ${PN}-*/ ${P} || die
+               # Flatcar: move a correct directory ${MY_COMMIT}, as defined
+               # above in ${S}.
+               if [[ ${#MY_COMMIT} -gt 8 ]]; then
+                       mv ${MY_COMMIT}/ linux-firmware-${PV} || die
                fi
+
+               # Flatcar: Upstream linux-firmware tarball does not contain
+               # symlinks for cxgb4 firmware files, but "modinfo
+               # cxgb4.ko" shows it requires t?fw.bin files. These
+               # normally are installed by the copy-firmware.sh
+               # script, which refers to the WHENCE file. Both the
+               # script and the file are in the tarball. The WHENCE
+               # file actually mentions that these symlinks should be
+               # created, but apparently our ebuild is not using this
+               # way of installing the firmware files, so we need to
+               # create the symlinks to avoid failures at the
+               # firmware scanning stage.
+               ln -sfn t4fw-${CXGB_VERSION}.bin linux-firmware-${PV}/cxgb4/t4fw.bin
+               ln -sfn t5fw-${CXGB_VERSION}.bin linux-firmware-${PV}/cxgb4/t5fw.bin
+               ln -sfn t6fw-${CXGB_VERSION}.bin linux-firmware-${PV}/cxgb4/t6fw.bin
+
+               # Flatcar: Upstream linux-firmware tarball does not contain
+               # a correct symlink to intel/ice/ddp/ice-1.3.28.0.pkg,
+               # but "modinfo ice.ko" shows it requires ice.pkg.
+               # So we need to create the symlink to avoid failures at the
+               # firmware scanning stage.
+               ln -sfn ice-${ICE_DDP_VERSION}.pkg linux-firmware-${PV}/intel/ice/ddp/ice.pkg
        fi
 }
 
 src_prepare() {
+       # Flatcar: generate a list of firmware
+       local kernel_mods="${SYSROOT%/}/lib/modules/${KV_FULL}"
+
+       # Fail if any firmware is missing.
+       einfo "Scanning for files required by ${KV_FULL}"
+       echo -n > "${T}/firmware-scan"
+       local kofile fwfile failed
+       for kofile in $(find "${kernel_mods}" -name '*.ko' -o -name '*.ko.xz'); do
+               for fwfile in $(modinfo --field firmware "${kofile}"); do
+                       if [[ ! -e "${fwfile}" ]]; then
+                               eerror "Missing firmware: ${fwfile} (${kofile##*/})"
+                               failed=1
+                       elif [[ -L "${fwfile}" ]]; then
+                               echo "${fwfile}" >> "${T}/firmware-scan"
+                               realpath --relative-to=. "${fwfile}" >> "${T}/firmware-scan"
+                       else
+                               echo "${fwfile}" >> "${T}/firmware-scan"
+                       fi
+               done
+       done
+       if [[ -n "${failed}" ]]; then
+               die "Missing firmware"
+       fi
+
+       # AMD's microcode is shipped as part of coreos-firmware, but not a dependency to
+       # any module, so add it manually
+       use amd64 && find amd-ucode/ -type f -not -name "*.asc" >> "${T}/firmware-scan"
+
+       einfo "Pruning all unneeded firmware files..."
+       sort -u "${T}/firmware-scan" > "${T}/firmware"
+       find * -not -type d \
+               | sort "${T}/firmware" "${T}/firmware" - \
+               | uniq -u | xargs -r rm
+       find * -type f -name "* *" -exec rm -f {} \;
+
        default
 
-       # Stub out this script to avoid errors in the live ebuild
-       cat >check_whence.py<<-EOF
-       #!/bin/sh
-       exit 0
-       EOF
-
-       cp "${FILESDIR}/${PN}-make-amd-ucode-img.bash" "${T}/make-amd-ucode-img" || die
-       chmod +x "${T}/make-amd-ucode-img" || die
-
-       if use initramfs && ! use dist-kernel; then
-               if [[ -d "${S}/amd-ucode" ]]; then
-                       "${T}/make-amd-ucode-img" "${S}" "${S}/amd-ucode" || die
-               else
-                       # If this will ever happen something has changed which
-                       # must be reviewed
-                       die "'${S}/amd-ucode' not found!"
-               fi
-       fi
+       echo "# Remove files that shall not be installed from this list." > ${PN}.conf
+       find * \( \! -type d -and \! -name ${PN}.conf \) >> ${PN}.conf
 
        # whitelist of misc files
        local misc_files=(
@@ -219,6 +274,8 @@
        )
 
        # blacklist of images with unknown license
+       # Flatcar: remove Alteon AceNIC drivers from unknown_license to install
+       # the firmware files: acenic/tg?.bin.
        local unknown_license=(
                korg/k1212.dsp
                ess/maestro3_assp_kernel.fw
@@ -250,8 +307,6 @@
                sb16/ima_adpcm_playback.csp
                sb16/ima_adpcm_capture.csp
                sun/cassini.bin
-               acenic/tg1.bin
-               acenic/tg2.bin
                adaptec/starfire_rx.bin
                adaptec/starfire_tx.bin
                yam/1200.bin
@@ -265,7 +320,8 @@
 
        if use !unknown-license; then
                einfo "Removing files with unknown license ..."
-               rm -v "${unknown_license[@]}" || die
+               # Flatcar: do not die even if no such license file is there.
+               rm -v "${unknown_license[@]}"
        fi
 
        if use !redistributable; then
@@ -289,76 +345,16 @@
 }
 
 src_install() {
-
-       local FW_OPTIONS=( "-v" "-j1" )
-       local files_to_keep=
-
-       if use savedconfig; then
-               if [[ -s "${S}/${PN}.conf" ]]; then
-                       files_to_keep="${T}/files_to_keep.lst"
-                       grep -v '^#' "${S}/${PN}.conf" 2>/dev/null > "${files_to_keep}" || die
-                       [[ -s "${files_to_keep}" ]] || die "grep failed, empty config file?"
-                       FW_OPTIONS+=( "--firmware-list" "${files_to_keep}" )
-               fi
-       fi
-
-       if use compress-xz; then
-               FW_OPTIONS+=( "--xz" )
-       elif use compress-zstd; then
-               FW_OPTIONS+=( "--zstd" )
-       fi
-       FW_OPTIONS+=( "${ED}/lib/firmware" )
-       ./copy-firmware.sh "${FW_OPTIONS[@]}" || die
-       use deduplicate && { ./dedup-firmware.sh "${ED}/lib/firmware" || die; }
-
-       pushd "${ED}/lib/firmware" &>/dev/null || die
-
-       # especially use !redistributable will cause some broken symlinks
-       einfo "Removing broken symlinks ..."
-       find * -xtype l -print -delete || die
-
-       # remove empty directories, bug #396073
-       find -type d -empty -delete || die
-
-       # sanity check
-       if ! ( shopt -s failglob; : * ) 2>/dev/null; then
-               eerror "No files to install. Check your USE flag settings"
-               eerror "and the list of files in your saved configuration."
-               die "Refusing to install an empty package"
-       fi
-
-       # create config file
-       echo "# Remove files that shall not be installed from this list." > "${S}"/${PN}.conf || die
-       find * ! -type d >> "${S}"/${PN}.conf || die
-       save_config "${S}"/${PN}.conf
-
-       popd &>/dev/null || die
-
-       # Instruct Dracut on whether or not we want the microcode in initramfs
-       (
-               insinto /usr/lib/dracut/dracut.conf.d
-               newins - 10-${PN}.conf <<<"early_microcode=$(usex initramfs)"
-       )
-       if use initramfs; then
-               # Install installkernel/kernel-install hooks for non-dracut initramfs
-               # generators that don't bundled the microcode
-               dobin "${T}/make-amd-ucode-img"
-               (
-                       exeinto /usr/lib/kernel/preinst.d
-                       doexe "${FILESDIR}/35-amd-microcode.install"
-                       exeinto /usr/lib/kernel/install.d
-                       doexe "${FILESDIR}/35-amd-microcode-systemd.install"
-               )
-       fi
-
-       if use initramfs && ! use dist-kernel; then
-               insinto /boot
-               doins "${S}"/amd-uc.img
-       fi
-
-       dodoc README.md
-       # some licenses require copyright and permission notice to be included
-       use bindist && dodoc WHENCE LICEN[CS]E.*
+       # Flatcar: take a simplified approach instead of cumbersome installation
+       # like done in Gentoo.
+       #
+       # Don't save the firmware config to /etc/portage/savedconfig/
+       # if we use !savedconfig; then
+       #       save_config ${PN}.conf
+       # fi
+       rm ${PN}.conf || die
+       insinto /lib/firmware/
+       doins -r *
 }
 
 pkg_preinst() {
@@ -384,13 +380,6 @@
        elog "If you are only interested in particular firmware files, edit the saved"
        elog "configfile and remove those that you do not want."
 
-       if ver_replacing -lt 20190514; then
-               elog
-               elog 'Starting with version 20190514, installation of many firmware'
-               elog 'files is controlled by USE flags. Please review your USE flag'
-               elog 'and package.license settings if you are missing some files.'
-       fi
-
        if use initramfs; then
                if use dist-kernel; then
                        dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" --all

@chewi chewi self-assigned this Oct 10, 2025
KV_FULL wasn't being set before, so it was actually scanning all modules
under /lib/modules, not just the ones for the current kernel version.

Hopefully, we can eventually create an env file so that we can use the
upstream ebuild directly, but this at least brings them closer in line.

Signed-off-by: James Le Cuirot <[email protected]>
@chewi chewi force-pushed the chewi/sync-linux-firmware branch from 55d7f68 to 303f2a6 Compare October 10, 2025 16:14
The code was tripping up over whitespace, resulting in scary error
messages, and was more cumbersome than it needed to be.

Signed-off-by: James Le Cuirot <[email protected]>
@chewi chewi deployed to development October 10, 2025 17:27 — with GitHub Actions Active
Copy link

Test report for 4483.0.0+nightly-20251009-2100 / amd64 arm64

Platforms tested : qemu_uefi-amd64 qemu_update-amd64 qemu_uefi-arm64 qemu_update-arm64

ok bpf.execsnoop 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok bpf.local-gadget 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.basic 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.cloudinit.basic 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.cloudinit.multipart-mime 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.cloudinit.script 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.disk.raid0.data 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.disk.raid0.root 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.disk.raid1.data 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.disk.raid1.root 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.etcd-member.discovery 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.etcd-member.etcdctlv3 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.etcd-member.v2-backup-restore 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.filesystem 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.flannel.udp 🟢 Succeeded: qemu_uefi-amd64 (1)

ok cl.flannel.vxlan 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.instantiated.enable-unit 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.kargs 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.luks 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.oem.indirect 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.oem.indirect.new 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.oem.regular 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.oem.regular.new 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.oem.reuse 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.oem.wipe 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.partition_on_boot_disk 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.symlink 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.translation 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v1.btrfsroot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v1.ext4root 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v1.groups 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v1.once 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v1.sethostname 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v1.users 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v1.xfsroot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v2.btrfsroot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v2.ext4root 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v2.users 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v2.xfsroot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v2_1.ext4checkexisting 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v2_1.swap 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.ignition.v2_1.vfat 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.install.cloudinit 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.internet 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.locksmith.cluster 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.network.initramfs.second-boot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.network.iptables 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.network.listeners 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.network.nftables 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.network.wireguard 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.omaha.ping 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.osreset.ignition-rerun 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.overlay.cleanup 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.swap_activation 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.sysext.boot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.sysext.fallbackdownload # SKIP 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.tang.nonroot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.tang.root 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.toolbox.dnf-install 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.tpm.eventlog 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.tpm.nonroot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.tpm.root 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.tpm.root-cryptenroll 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.tpm.root-cryptenroll-pcr-noupdate 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.tpm.root-cryptenroll-pcr-withupdate 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.update.badverity 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.update.payload 🟢 Succeeded: qemu_update-amd64 (1); qemu_update-arm64 (1)

ok cl.update.payload-boot-part-too-small 🟢 Succeeded: qemu_update-amd64 (1); qemu_update-arm64 (1)

ok cl.update.reboot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.users.shells 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok cl.verity 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.auth.verify 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.ignition.groups 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.ignition.once 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.ignition.resource.local 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.ignition.resource.remote 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.ignition.resource.s3.versioned 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.ignition.security.tls 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.ignition.sethostname 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.ignition.systemd.enable-service 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.locksmith.reboot 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.locksmith.tls 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.selinux.boolean 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.selinux.enforce 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.tls.fetch-urls 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok coreos.update.badusr 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok devcontainer.docker 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok devcontainer.systemd-nspawn 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok docker.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok docker.btrfs-storage 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok docker.containerd-restart 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok docker.enable-service.sysext 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok docker.lib-coreos-dockerd-compat 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok docker.network-openbsd-nc 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok docker.selinux 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok docker.userns 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok extra-test.[first_dual].cl.update.docker-btrfs-compat 🟢 Succeeded: qemu_update-amd64 (1); qemu_update-arm64 (1)

ok extra-test.[first_dual].cl.update.payload 🟢 Succeeded: qemu_update-amd64 (1); qemu_update-arm64 (1)

ok extra-test.[first_dual].cl.update.payload-boot-part-too-small 🟢 Succeeded: qemu_update-amd64 (1); qemu_update-arm64 (1)

ok kubeadm.v1.32.4.calico.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok kubeadm.v1.32.4.cilium.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok kubeadm.v1.32.4.flannel.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok kubeadm.v1.33.0.calico.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok kubeadm.v1.33.0.cilium.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok kubeadm.v1.33.0.flannel.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok kubeadm.v1.34.1.calico.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok kubeadm.v1.34.1.cilium.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok kubeadm.v1.34.1.flannel.base 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok linux.nfs.v3 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok linux.nfs.v4 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok linux.ntp 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok misc.fips 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok packages 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok sysext.custom-docker.sysext 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok sysext.custom-oem 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok sysext.disable-containerd 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok sysext.disable-docker 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok sysext.simple 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok systemd.journal.remote 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok systemd.journal.user 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

ok systemd.sysusers.gshadow 🟢 Succeeded: qemu_uefi-amd64 (1); qemu_uefi-arm64 (1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant