From patchwork Thu Aug 21 07:17:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Steiger X-Patchwork-Id: 4303 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 21 Aug 2025 09:18:05 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oa1-f64.google.com (mail-oa1-f64.google.com [209.85.160.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 57L7I3Tk003134 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 21 Aug 2025 09:18:04 +0200 Received: by mail-oa1-f64.google.com with SMTP id 586e51a60fabf-30cce54e5fcsf2890304fac.0 for ; Thu, 21 Aug 2025 00:18:04 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1755760678; cv=pass; d=google.com; s=arc-20240605; b=R9s3lfBB220st6Pbgt/zzYDeWejQEmMLyroMtlB+8oV08K2cpY114nmrjhOSsZXJ6K jkj/EdoSZFAW0yfdWrNXCFc446K2qpV6TSJSMxGhwjY05M+Vv3YW/H2dqCxLa2L7Sl36 +lO2eiT/airuTb9SW5+CzTgEx8QNjMz6MTOghdy6hHA4JTOvrGDTTR+ALRWRLaK5wgQR teq/gAW6MdT+T1NtFeYIcOZQ5BdP33jc3HH98vLSQ3oXCUeP+FaM8kXysNjXPZ59WBw0 JIDVPtD0xhWaeoQK2jc1xmbB7upVPJF74FwKueKPNBMVpCOiBAvaeLjOwyWMqFkqNZaR Oo1A== 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=l6XbfSmAoT0jlbo7XHtK8tNR61+FpLemzFZWQ46ANTg=; fh=N6slW3MZpicf3B0pdkPOZlDZtgzGI8il6/3RvsxXKqM=; b=GJNYVYAZGoeweiYL4zaECH2aRnfpMxbc+bnUFfZ7n7tg9v0ULhGS2HcOxaO8TxIjYh WB4SJACxLroTQklnRgdRffsao8yw/+Y1S+d87WOZensu537pamolZSh6Q/+IaxrP+s0z gPHRwAzRMYrj+aabyfLGngg5jzDeP6qjDLhrbZXMSGdQ/tE4CcBDxcpfkijHgK4IWOXL xwe5yRL1igI4a9t1yxH58zHIZzTOcvj1Q9ak6r9EyKmWiiprb/yYhPVdaHXj8UYEgMxZ hZny3hb+2WPAREg2wVq98tr3L8yT1iRiKB2JtiThMfb8YOejvVobIbMQqN1l5hUauU/d UObQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=cIb+02fz; spf=pass (google.com: domain of fm-1328957-2025082107175494a56e00347c0f516d-eclwyp@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1328957-2025082107175494a56e00347c0f516d-EclWyP@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=1755760678; x=1756365478; 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=l6XbfSmAoT0jlbo7XHtK8tNR61+FpLemzFZWQ46ANTg=; b=cKRT5N6MilnmF6WvAnmBPzdLjsZHx7FHg3a9N9OHGMXTStGQDhyCuJZJqK0V8I/8FX IfXmCrWMRvBCvrFM7EgNHtBZO8ZW6KgzLwICBPiL05DLvPg5BUilKmxe+vu2qm6oiJCT uOKr9zdLTTZXtdPGIm1UqOFMkUzHzu9X7d2WGoRFCdswDRFByYbTSaKYD7LkH9kCygfK bRZlGHQANdhiJu1IVbRHMXolMM6/aAhdAK7J75TfiqjJ6491ScPRGEqUeS2lNHuMpehc 522DX4RRRATIvOZgiucsVfnoSEQDD1qaujEbb0wIvy4FxbVlB33hBpiSN0RC6podsQQG 5FDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755760678; x=1756365478; 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=l6XbfSmAoT0jlbo7XHtK8tNR61+FpLemzFZWQ46ANTg=; b=DtgxYqlbA6yhUT8T4E9rI5v8H/CZCnj1XvPEg3i+olCMsihQ5EFLge3rzx+moCSLAv B08f/h+TEoOIN66vM8js6K47xZafnqok+GxaC5MjFIfOXYvsD++uN4G8O2XVBA9O8RTO urR3C5s/dMEMxOFI0nplw6LDLePP/pu90ywfD5LFSKsmvamIJJMDRzch0RYwVz4XCizR SPQK5LYWUNcloHyvXNWhA16fDBXOb8x5i4yOXyae7h+WWVYy8RoX1AvbGaBXQCTiwM8D 690l1kIg8akcb7Ak9Pzuw0/W3HX11Vw20ZVy8vwlYwePvyYtPCd8VcPLUdRtWnyh/Puv 6qQQ== X-Forwarded-Encrypted: i=2; AJvYcCU4MTltW2X8KW0ysilHSog/tjpRz69gja4U63bwIy6v/rSQDBL5bVBn3jTjare0x1fYnNeHDVI=@isar-build.org X-Gm-Message-State: AOJu0YwG53uyz4iJh2qzYYfXznwLOJXXDtUQMnPEJOG0Q6sHVVPR1pjb x0ojroQzxjkZz5OwWJBA9KxEtesEzR+nCbKAQ+Exk1PulZW9sBqcUnb5 X-Google-Smtp-Source: AGHT+IGKTB5WSYVvpyaPCbxMOlgHF00LM+MDX46c6koqorj0p4rMnxDPdci/1fvrrntrmlmdVKIiRg== X-Received: by 2002:a05:6870:64aa:b0:2eb:b6a2:8d77 with SMTP id 586e51a60fabf-314c6502abamr677400fac.29.1755760677690; Thu, 21 Aug 2025 00:17:57 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=AZMbMZd7szbuDQ3EdPWeIrnUPRh3FVOwYbyM1nVSJdMRygdCAg== Received: by 2002:a05:6871:a312:b0:310:fb62:8fdb with SMTP id 586e51a60fabf-314c1d9c229ls354155fac.0.-pod-prod-08-us; Thu, 21 Aug 2025 00:17:56 -0700 (PDT) X-Received: by 2002:a05:6870:4f10:b0:308:fc2b:b7a with SMTP id 586e51a60fabf-314c65dcf19mr626858fac.43.1755760676431; Thu, 21 Aug 2025 00:17:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1755760676; cv=none; d=google.com; s=arc-20240605; b=WgvPpMoixzeFhNzS+BXisDfeUdSLb1GPE/1i9M+J0z+wpQf/Tk/XuT+8VdoqSkVTFa VbL9cDktvuz0Qcbl18e0MpSia1q/VzGL/Wj3EXyVj2iyIMDRLVWIJePTHlxUnRGM3lMD YIB4so7JVBdVVIx08euWeqAfgWf3BS8e7hcgGBJDPRsEYTEN+UHwsWMxbHwJyHt9T7q9 EZYeY7E3dwROpnRbcpXzg09b/Sajhoi+8j8nhB4/44O7PJr64Mcx/1PzUUNOPf9QrI7L qjh2NHHQToUMFCdHqIaybLM9QdgSLX0g2ecuLqDCQkaR/rpsxI0Z/gSM0SZ1rZGwxPYQ OEaQ== 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=/fNL8RD5YP255zfLLO3fit3l36rXtzaPdElceETalF0=; fh=p6mSIjVvU4cJr6XYwHMwKgm7741t8WnIOVBR+F/lNaM=; b=dRIyQftb0Aq0yUR3zDCdIiTFhgt+F3ZzoMUDNERgwX2IrRTgUf6ElXZS3ryFsH1tCb plu/DXVrpOaYH318XI+Ml4LHl1sjciT0FO5OGDYPKz/t5wbV3sOD8TwDqElssG6ItLio QJc1k7RkMvIUyIAv7F2DW4GT1T3CynwLvjIji7YgM5sQo73H+2kNhoF5G3MwaBeKBzE2 PKmifY+UJRwTQBNeEWptnyl5noB9859kB2ve264zq7iQbvrsLeogB+v2z4bA2+l62muc 8YbdlwDUAcW/+/DtTLWFLLSXR9aRSnc3RBc+Y5tQAbHA90JgvZ1Jcj/EpLyfl4FMkn65 V5qQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=cIb+02fz; spf=pass (google.com: domain of fm-1328957-2025082107175494a56e00347c0f516d-eclwyp@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1328957-2025082107175494a56e00347c0f516d-EclWyP@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 586e51a60fabf-310ab8a935csi713669fac.1.2025.08.21.00.17.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Aug 2025 00:17:56 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328957-2025082107175494a56e00347c0f516d-eclwyp@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 2025082107175494a56e00347c0f516d for ; Thu, 21 Aug 2025 09:17:54 +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 v2 1/1] rootfs: rework no-generate-initrd rootfs feature Date: Thu, 21 Aug 2025 09:17:22 +0200 Message-Id: <20250821071722.45717-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=cIb+02fz; spf=pass (google.com: domain of fm-1328957-2025082107175494a56e00347c0f516d-eclwyp@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1328957-2025082107175494a56e00347c0f516d-EclWyP@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_H2,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 --- Changes in v2: - move initialisation of INITRD_IMAGE to rootfs RECIPE-API-CHANGELOG.md | 14 ++++++++++++++ meta/classes/image.bbclass | 3 --- meta/classes/rootfs.bbclass | 10 ++++++---- .../sbuild-chroot/sbuild-chroot.inc | 2 +- 4 files changed, 21 insertions(+), 8 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..ca304e33 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -23,7 +23,6 @@ IMAGE_FULLNAME = "${PN}-${DISTRO}-${MACHINE}" # These variables are used by wic and start_vm KERNEL_IMAGE ?= "${IMAGE_FULLNAME}-${KERNEL_FILE}" -INITRD_IMAGE ?= "" INITRD_DEPLOY_FILE = "${@ d.getVar('INITRD_IMAGE') or '${IMAGE_FULLNAME}-initrd.img'}" # This defines the deployed dtbs for reuse by imagers @@ -67,8 +66,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..ac727249 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -8,14 +8,16 @@ ROOTFS_DISTRO ?= "${DISTRO}" ROOTFS_PACKAGES ?= "" ROOTFS_BASE_DISTRO ?= "${BASE_DISTRO}" +INITRD_IMAGE ?= "" + # Features of the rootfs creation: # available features are: # 'clean-package-cache' - delete package cache from rootfs # '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 +260,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 +503,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"