From patchwork Wed Nov 5 07:26:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Steiger X-Patchwork-Id: 4522 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 05 Nov 2025 09:25:29 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-qt1-f186.google.com (mail-qt1-f186.google.com [209.85.160.186]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5A58PSI3016083 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 5 Nov 2025 09:25:28 +0100 Received: by mail-qt1-f186.google.com with SMTP id d75a77b69052e-4ed6ff3de05sf25563751cf.3 for ; Wed, 05 Nov 2025 00:25:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1762331122; cv=pass; d=google.com; s=arc-20240605; b=LnWT54dDcaQ8mrw3fIcYyv3SLztTVDUX6axV8/toKtrwUNiiSa6h3hUU7sQKeZv6OD Q6dN1EvFg9X9O/KUy3yUtGxwg7JYOkI3eK021pj8DqI8zXYoWI5BfBFNaUYBuy89IXb3 XCOVQDUckrelKTRVAvk1rO3vwp8bFc0TQORrEKpIx+093JygIeL+TzYL8iVda8i/7zI7 /PMdk2jWEoTmX28fIhyMcGL8fRbDI3hk5rEyPyt4S8K/TC821nu9diNIRw4ldEKbRyyv nnxGvbR7UTAeR8L+jj0PJC1fg3ycXK7YqY4xgbfOmUEhLA/gmfrIMiNR96bRREbbIh0Y KHWg== 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=8/7ULz4t+mt59YiU4uTFQLWQb48oMHkc7iCuJobtTlM=; fh=uNoxgHYXN2z+ckUREnbOgYnHcWjcMKbh8/mOHlNFHwo=; b=f/X3cRDAuc4lEmshKLer57vDkx+NiVCWmYseSbOLYnrvDSj1B8DrRIZV/8vWiYnPEV MOTiaRUnGLTKkY441KfnJ41bSLRJ4VeiUVRaHKcFvaqa/Q/mw05Z6Wl5nWf5MOlDy61X WrIGks0TL6kg/rCn7d6WRamYg/SQsqQPJER4kOxlKjRM8RyDTnpb9UjlbfJTLIlHwPcV WWu4nOisRM4b1V56OyT+Xy7ppIz/dcnhSpHm6A6S94SM7SNox1Jgyz7Yj1DfT8UQ10U+ MHaMQruCfeQefOhO03NBHsJDfD7mVJ1+h5RuKN33g7FstwQ0CuMLAYpESYD3UEmtph3a 6kfQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=l6XAJd9P; spf=pass (google.com: domain of fm-1328957-202511050728231de5bf0e2e000207bc-xoavs4@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1328957-202511050728231de5bf0e2e000207bc-XOAVs4@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=1762331122; x=1762935922; 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=8/7ULz4t+mt59YiU4uTFQLWQb48oMHkc7iCuJobtTlM=; b=rLxXoGg3X0a6Ea55Fcyuvs5YkJMWG+Z5EjGNkpNzexnSOD2IzX+h9ywdsFoXV1a0jv XQN6Q3k4+fsRgyhiGSmcJN6U0yJgl7VCDRgXx51lKq2h2ZcXYYsjDjQb4dmjFcXi3jou doAuii2LoHnhfPRDkdO5ey8JAfFAwhoi1/6kIMq0+7a3N7DwwRinKv4Drn+YpPwL9D0R G1VSBJpU42BjTKG2YQh5c+1S1LLaS1OCvZGffWUU1GaqRKXmlrOXJsvLsdW3gS4rmXw4 TR+YwuOWzHuihHF2m/hNnMQU4ezHeSz64UqIW93UjAs2+9iK372LgFuAdOPhebS2PlBi gi3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762331122; x=1762935922; 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:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=8/7ULz4t+mt59YiU4uTFQLWQb48oMHkc7iCuJobtTlM=; b=PyBErCyC9hECcz1hNgRYKh2kCaBfK6oZL0njjD6JdmFxm/DhfyDo0RqMmHg6kADAYv lUUiXlE4S72aFqziWtHt/yNUGdXuUtdQ5N2TeH1swqyNn1GwUeqeonyBU/srLeI85VRt keVllx5QUEaq5xepLKDjFcpnYchgXzZm3c8vRajbeCk17uAcyOY99OFfKu4Qw4smPp9J tdiGp7DbA1jh3LARc8obBxWg1ApkAeIS5eIEFQFQ6xXaFX0UQvdu0cFyx1CJdTjYnLxD iEpQFHyPUCJ3UAZkIi69re8xWs6IvMm0wIQRhAIzrkVXh7bBj9i9mE8qwDevDfwKKWrk ZfkQ== X-Forwarded-Encrypted: i=2; AJvYcCWyHwzNJS+oQDF4qyFg7Rr09i5H3/FD43BGopBhm/usAtyBto8B9KG9FgwZ0RAYYZqoSPIlTQY=@isar-build.org X-Gm-Message-State: AOJu0YyGsjkRdvtJiBz8CVJWn5/xoMpHwZ9+5oFNKUTX8dQV9Sn57ve5 QaQyKKYs2OXQdT+3YNNrIiksTMZu5jN3yZBKWZnm2wBDA1Jj7BxG7+la X-Google-Smtp-Source: AGHT+IF+Xdi+sm9c8WBolHnrE2HU9YUXuUZou8hoJo2li4QpeDhn4y08Flt2HQKrIUMEgK7oqE3LPg== X-Received: by 2002:ac8:5d88:0:b0:4e8:bb50:a7ee with SMTP id d75a77b69052e-4ed72354fe9mr31422711cf.33.1762331122292; Wed, 05 Nov 2025 00:25:22 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+ZfEx0cwrKxX92HV7jBNv8B2oqvq04YrfjTyfcKnClQlg==" Received: by 2002:a05:622a:40c7:b0:4ec:ff90:36a1 with SMTP id d75a77b69052e-4ed22c970e3ls22338921cf.1.-pod-prod-09-us; Wed, 05 Nov 2025 00:25:21 -0800 (PST) X-Received: by 2002:a05:620a:318b:b0:8b2:80d:bc29 with SMTP id af79cd13be357-8b220b9b41amr343115085a.89.1762331121873; Wed, 05 Nov 2025 00:25:21 -0800 (PST) Received: by 2002:aa7:d1d0:0:b0:640:aaf6:8ce4 with SMTP id 4fb4d7f45d1cf-641066ae943msa12; Tue, 4 Nov 2025 23:28:26 -0800 (PST) X-Received: by 2002:a05:6402:50cb:b0:639:f7b5:9c2d with SMTP id 4fb4d7f45d1cf-641058ac7a3mr1740414a12.9.1762327704473; Tue, 04 Nov 2025 23:28:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1762327704; cv=none; d=google.com; s=arc-20240605; b=PVjvpZCRHsGIQHhu9+84Z9JbXQn6AMz+Zv55c5kJyGiiy58AO6147/Of/V0H1UpF6V LJvkSoV8K6jLli7ZyXdtCiu0QofFHMKDSFtxcTSm6KBSs8NghylVfnFQa0A3H+5cT5Ej EuT4KRbMvL81HRGRfpgOxaz6hA6+bb0i/l8NjCbljHH21yt89yokYoKI39GlevV5pX8I JLqSB+KEkgLq4PrJmd2OERkwhSq5TTWBj966RmJ9ur/dYwrA10SQ/GDe/9+c692KObJ6 Z9QD+Lkl+W452dwzoSs3+lx0x4xxqF6AlMt4I3PeFMXUM5Qx04pJu9WHj3cA2Pan9qhT pXHQ== 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=ymXdSnxwBSBIQm2pFfh9ho6cgygUZ3OmbfceShmi0mM=; fh=p6mSIjVvU4cJr6XYwHMwKgm7741t8WnIOVBR+F/lNaM=; b=HAKQO+TPor+z3rizAl+DWGZ6FdK9Wh1wNYj/h32tdtD5wR2CRCS1M5mIbvfuT+kgHz 61UyYpt/+UBuo6euB4SwyUM7g4+oGZPymm5G2JPcL5vBVNc39maTrIfsHMx/SDYMZfEo PpFkz3IP4yqZGKaNfn1/Rvph881LMCE1SVgKHf9gafgTgics7VHmULUq8NefGnFzvjr7 Y3GqK+rcsP727EeX4RHXvwOvbb16fZn/QJwizFip8fNsW3Vg2UwGRY8lnHlIstMnpmdk GFfn9fkWiCJQYVNuKVk7cozpK755uac6cxFxgGPtZMRzkDmBsb3sycxwabI8/10xPPZj uZ4Q==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=l6XAJd9P; spf=pass (google.com: domain of fm-1328957-202511050728231de5bf0e2e000207bc-xoavs4@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1328957-202511050728231de5bf0e2e000207bc-XOAVs4@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id 4fb4d7f45d1cf-640ea5337d1si61258a12.3.2025.11.04.23.28.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Nov 2025 23:28:24 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1328957-202511050728231de5bf0e2e000207bc-xoavs4@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 202511050728231de5bf0e2e000207bc for ; Wed, 05 Nov 2025 08:28:23 +0100 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 v3 1/1] rootfs: rework no-generate-initrd rootfs feature Date: Wed, 5 Nov 2025 08:26:30 +0100 Message-Id: <20251105072630.37142-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=fm1 header.b=l6XAJd9P; spf=pass (google.com: domain of fm-1328957-202511050728231de5bf0e2e000207bc-xoavs4@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1328957-202511050728231de5bf0e2e000207bc-XOAVs4@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-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 --- Changes in v3: - enable generate-initrd also when there are already other rootfs features 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 1826667a..1a5eba31 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -797,3 +797,17 @@ root file modifications) are required. A new class called `opensbi` has been introduced that shall help writing shorter recipes for custom OpenSBI builds. Usage examples can be found in `meta-isar/recipes/bsp/opensbi`. + +### 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 441ea936..b58711d0 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 2fef3120..32d49146 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" @@ -349,7 +351,7 @@ rootfs_restore_initrd_tooling() { EOSUDO } -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 @@ -594,7 +596,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 479aa91d..61d37760 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_INSTALL_COMMAND:remove = "rootfs_restore_initrd_tooling"