From patchwork Wed Aug 20 14:10:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Steiger X-Patchwork-Id: 4300 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 20 Aug 2025 16:11:06 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-qt1-f185.google.com (mail-qt1-f185.google.com [209.85.160.185]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 57KEB1Nl030838 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 20 Aug 2025 16:11:02 +0200 Received: by mail-qt1-f185.google.com with SMTP id d75a77b69052e-4b0fa8190d4sf27686491cf.0 for ; Wed, 20 Aug 2025 07:11:02 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1755699056; cv=pass; d=google.com; s=arc-20240605; b=CuINBP3PBY6HyXtUs/991s34V25oS+Fxlu27eg5UMmvLBE9/Vy15oZl5+KZMhGA0q/ Eki3DvtwGaRKTrUm6CM2/tDU9l9jf+lZejVOF4tsCaoTeEq9SOF4jj8CAQGjxE8iAl84 MFvtv6rQgKmC3HhEuoAWi1Vktb6XWSKz71r2T+pteFE3z136Cr5Zod6lhTXy6rd9j1Px jIF8HQpwPt2alNrY5xntKMb1nms1ceCbLjFrAzQxEMdgr4uD7P18mPZ3JT7EGcMT3ANo iKNRd3VYFPZN2z08lbaDbtCtO6VEo8lqZz+KMdsB6PjZJ22qu3bMvkNRpE2m08XSlLCA w4kw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=IUgg1+fgoss+Oid82c/gYR8VFxL8/9vLAIi57Nu/UFM=; fh=2Qzs9GaHK0lXyc5kEwMPEopukGg5Do5Ihbh8OlotLKs=; b=b5799m1hLvDB3sXQDGtt4kvGF4rfpMU83DEozz0nIxrwEXkn9U319bqrDhsug/+1nE 5vSc1GzTl5IxT9+M+yoPhbW9z9DrH2Hme34Wa7hcUT5EzE+VzdfA+tMeUGYWwl7L3pJy Jikhoyh/+trV/DHUaVMKVwfPCHgV3VO86W6k1ss+6X3JgwvKgkg9lKAoM4ScUqCSvh7c ayJweGlWcfFLflFSKOZKBbXlvqqEEjNmq0ar0WAdyQvFQ8/orNlhRGLRLUFQjvyVdh53 BSpfwfmFTVxdAVfhK3Pq9tUQFr5ZjWH7Qc4fu/Uv2TMHblCBJB+3yT6wWTV7nBq/Oszl 7J4g==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="cOr/9BdL"; spf=pass (google.com: domain of fm-1328957-20250820141051b2ae09c932484cd656-j_nh2q@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1328957-20250820141051b2ae09c932484cd656-j_nh2q@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1755699056; x=1756303856; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=IUgg1+fgoss+Oid82c/gYR8VFxL8/9vLAIi57Nu/UFM=; b=xsP8Jv89T9ejiTHPFXhAlvjlvDUTqGzsTlrUoC0n0LyIXegqLMvIkbzwTBjwbmhsrv GxEkHYtehWVETkKu1VOCbinwCCFYJLg/UlN4PErVk6ypPC5XX/eETB1EOw8nEgzsfvrS qD0Pm3k3WHQTBewGgirSzwC9yOyFWDxn+cqK+dR2DO9LKsFT9lBmsKSLX9OabVHJ7WHl vWoyD0EozLZDGs0Y23YU6ZPSkEnE7OlLbMdY0AUw1ix+kXJQ7TLtRNICqbsMvvPw3yl7 0viy8Zf7McSdsQzEnh8Oq/af1gNH0HXzKSbMEy5EYC2mtN7dgFa03MDhczGMOUd2EUW6 uCDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755699056; x=1756303856; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IUgg1+fgoss+Oid82c/gYR8VFxL8/9vLAIi57Nu/UFM=; b=ClW2NQtfkPPzdpxiH81Ci7P98JUeDb32bGKVO7wt12jxg+DdEpveIz4RUaRI0GuqK5 vUtSW/RKU0TUbo3V1kStwnyRXAwFAVHK2eQUGoAo3JOOYpSkrB2O1ZTBghrVNJ7fVrnL BRtbu4YSvxYygcoV5qqNZth0zQco+IiE56bkvS2nwI7fz+0l95g5Zv0rorjAnZPyr2Cd T8aoBCBj8a4EFOAj10TT/wOC5wAkWvARuFDD6BcFiriGTcsESlAY/MeaQTp2r8BIdOFp sFWexBDg3k2TtLOXK95QMszThbZP+e8Xdt4FwGfRB6tw5yloiHfBDPvcAsjpb35bL3O0 GA0g== X-Forwarded-Encrypted: i=2; AJvYcCXVxk3yY5fBB95IqHvehthZzazOeOC+KF+DGSXM8MxtEgKCXS0be/dWOXqC5ma/g7Ns5kuJ/90=@isar-build.org X-Gm-Message-State: AOJu0YzyHUvI4LUd3v8PdQoTPnRxB4AryPjsojzu5X+QaiBjMAGt+tSw Q8p5Oqi0Ze2+ts6KjzU45jLbOvfdQA229bMzJQvzYn3JDdbF5bsT8jJp X-Google-Smtp-Source: AGHT+IH6k/FyN9xjQPPW0VvZIj0R3n8h9hkMxBI6nHWMHRy6pDd3BphK625g+F646Cq5LCDn+FnO0g== X-Received: by 2002:a05:6214:27e1:b0:709:d665:c00b with SMTP id 6a1803df08f44-70d75f31749mr24777466d6.21.1755699055800; Wed, 20 Aug 2025 07:10:55 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=AZMbMZeMlv32k+PFbaJQT4gFLX6QubHZCfdwut64k+zsQT10fg== Received: by 2002:a05:6214:4c86:b0:707:18b0:de30 with SMTP id 6a1803df08f44-70d75bbafeals5532646d6.1.-pod-prod-00-us-canary; Wed, 20 Aug 2025 07:10:54 -0700 (PDT) X-Received: by 2002:a05:620a:28d3:b0:7e9:f81f:cec2 with SMTP id af79cd13be357-7e9f81fd30fmr594189485a.39.1755699054515; Wed, 20 Aug 2025 07:10:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1755699054; cv=none; d=google.com; s=arc-20240605; b=W6tuzd86+t2GP1HRWqmwKWdikTxa8iY3zpoThQDFqDhpxSK99aJ9eN/EUxRG62oATi Z01TcrkIKyE5sk7MpNOeWAtIY50xxJHlLjEq96q2tbSeXfLeE+rJ9pRTrRyVIFr58p0n otJWrSUF3ouW8QT59ZM70606G4bI5U1r+YbSZwRReXjRi0DYL9cS37eVfm/Ad3BtYi68 Qn49to+x3s84wP0WmaiZMlSsFiuQkLxv2yS7yyIoGQ/pk113wEIZKQ8gF9k2EdGFHKw7 KU/agEFSKbYXFuulVOMvw8rQVrqjYntT8CQjeYpm7yVcqFT5F726GzMQTVqrAQSK/sEp h4XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=L+S+S2+bb1WLeVu/PtvI2DNux0R6Kx39Ad0f8ESzAJQ=; fh=p6mSIjVvU4cJr6XYwHMwKgm7741t8WnIOVBR+F/lNaM=; b=OC/fzdIn5KHzkcO2Gr+UQ6BAyLNGvAlRoqdz7RhaZ37EN9MBIISlh3KcnQDZx8S2UZ 0JOVumLwrv7Dd1K1J4SqCQNnxHyhE6ZDFtgcTQzSZ7+Itu5GshVsNMDGG6HjFlXMbiFT nIdBMJg1EJ07aNOzNyDmSez6LByQwJQ6673ayd0kOE7LTdKcHq2142sGYlmvO9187XY9 G7xnLQrzoJg+3SjKPrYVYnGD1UE/PzgiZzZmEMPRubPb1rldcdB/8pXpwZPM4uaQwjpN 1jsjw97J/0crZYe5r3rl8t2kVkfJlhrrzWxlWuJSjkrE1x7nJN8ErAz8X7wJriF3grPB K/ig==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="cOr/9BdL"; spf=pass (google.com: domain of fm-1328957-20250820141051b2ae09c932484cd656-j_nh2q@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1328957-20250820141051b2ae09c932484cd656-j_nh2q@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id af79cd13be357-7e87e1fc34esi50301385a.7.2025.08.20.07.10.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Aug 2025 07:10:54 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328957-20250820141051b2ae09c932484cd656-j_nh2q@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20250820141051b2ae09c932484cd656 for ; Wed, 20 Aug 2025 16:10:51 +0200 X-Patchwork-Original-From: "'Christoph Steiger' via isar-users" From: Christoph Steiger To: isar-users@googlegroups.com Cc: felix.moessbauer@siemens.com, jan.kiszka@siemens.com, Christoph Steiger Subject: [PATCH 1/1] rootfs: rework no-generate-initrd rootfs feature Date: Wed, 20 Aug 2025 16:10:23 +0200 Message-Id: <20250820141023.767004-1-christoph.steiger@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1328957:519-21489:flowmailer X-Original-Sender: christoph.steiger@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="cOr/9BdL"; spf=pass (google.com: domain of fm-1328957-20250820141051b2ae09c932484cd656-j_nh2q@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1328957-20250820141051b2ae09c932484cd656-j_nh2q@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Christoph Steiger Reply-To: Christoph Steiger Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Instead of using a negative feature replace it with a positive one: generate-initrd. It can be confusing for the user why a initrd is generated even though no additional rootfs features are enabled. To keep default behavior the same add generate-initrd to the default rootfs features, unless INITRD_IMAGE is provided. Signed-off-by: Christoph Steiger --- RECIPE-API-CHANGELOG.md | 14 ++++++++++++++ meta/classes/image.bbclass | 2 -- meta/classes/rootfs.bbclass | 8 ++++---- .../sbuild-chroot/sbuild-chroot.inc | 2 +- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 8468717d..ef18a0ac 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -727,3 +727,17 @@ Changes in next This was never documented and never had practical relevance. `oci-archive` is the useful OCI image format that can be imported, e.g., by podman. + +### Rework `no-generate-initrd` rootfs feature + +This negative feature is being replaced with a positive one: +`generate-initrd`. The default behavior remains unchanged, as `generate-initrd` +is now a default rootfs feature. Disabling initrd creation can be done in the +following way: +``` +ROOTFS_FEATURE:remove = "generate-initrd" +``` +instead of +``` +ROOTFS_FEATURE += "no-generate-initrd" +``` diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index bd1b8552..f4b07816 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -67,8 +67,6 @@ inherit essential ROOTFSDIR = "${IMAGE_ROOTFS}" ROOTFS_FEATURES += "clean-package-cache clean-pycache generate-manifest export-dpkg-status clean-log-files clean-debconf-cache" -# when using a custom initrd, do not generate one as part of the image rootfs -ROOTFS_FEATURES += "${@ '' if d.getVar('INITRD_IMAGE') == '' else 'no-generate-initrd'}" ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${@isar_multiarch_packages('IMAGE_INSTALL', d)}" ROOTFS_MANIFEST_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" ROOTFS_DPKGSTATUS_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 7b7859b9..f5513277 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -14,8 +14,8 @@ ROOTFS_BASE_DISTRO ?= "${BASE_DISTRO}" # 'generate-manifest' - generate a package manifest of the rootfs into ${ROOTFS_MANIFEST_DEPLOY_DIR} # 'export-dpkg-status' - exports /var/lib/dpkg/status file to ${ROOTFS_DPKGSTATUS_DEPLOY_DIR} # 'clean-log-files' - delete log files that are not owned by packages -# 'no-generate-initrd' - do not generate debian default initrd -ROOTFS_FEATURES ?= "" +# 'generate-initrd' - generate debian default initrd +ROOTFS_FEATURES ?= "${@ 'generate-initrd' if d.getVar('INITRD_IMAGE') == '' else ''}" ROOTFS_APT_ARGS="install --yes -o Debug::pkgProblemResolver=yes" @@ -258,7 +258,7 @@ rootfs_restore_initrd_tooling() { sudo rm -rf "${ROOTFSDIR}${ROOTFS_STUBS_DIR}" } -ROOTFS_INSTALL_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'no-generate-initrd', 'rootfs_clear_initrd_symlinks', '', d)}" +ROOTFS_INSTALL_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'generate-initrd', '', 'rootfs_clear_initrd_symlinks', d)}" rootfs_clear_initrd_symlinks() { sudo rm -f ${ROOTFSDIR}/initrd.img sudo rm -f ${ROOTFSDIR}/initrd.img.old @@ -501,7 +501,7 @@ rootfs_generate_initramfs() { } python() { - if 'no-generate-initrd' not in d.getVar('ROOTFS_FEATURES', True).split(): + if 'generate-initrd' in d.getVar('ROOTFS_FEATURES', True).split(): bb.build.addtask('do_generate_initramfs', 'do_rootfs', 'do_rootfs_postprocess', d) bb.build.addtask('do_generate_initramfs_setscene', None, None, d) } diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc index 98e427e5..ce35497f 100644 --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc @@ -55,7 +55,7 @@ SBUILD_CHROOT_PREINSTALL_COMMON = " \ SBUILD_CHROOT_DIR = "${WORKDIR}/rootfs" ROOTFSDIR = "${SBUILD_CHROOT_DIR}" ROOTFS_PACKAGES = "${SBUILD_CHROOT_PREINSTALL}" -ROOTFS_FEATURES += "no-generate-initrd" +ROOTFS_FEATURES:remove = "generate-initrd" ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_isar_apt"