From patchwork Wed Nov 5 12:12:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4544 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 13:14:14 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-ed1-f60.google.com (mail-ed1-f60.google.com [209.85.208.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5A5CEDfn018704 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 5 Nov 2025 13:14:13 +0100 Received: by mail-ed1-f60.google.com with SMTP id 4fb4d7f45d1cf-64081e1f6a0sf5700961a12.1 for ; Wed, 05 Nov 2025 04:14:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1762344845; cv=pass; d=google.com; s=arc-20240605; b=lEAnEshISTx38EUzMTXc9+hq8djxiNGL8TAfnU+1oqeEpaQCNW2C1ei1n+ZqZn+kgH sAPr41CmvvwJrBjDvQmE/CJ/KGIG2YxwK2/WPbnWjnZZY9k24Si+z6SI/Ee4j29jDAsJ q6bOrfpyPLhAlWBQGglEJ38JVQekIn/yGFi7eo3syLijyZUoNwdHP5SyJq2YOaoyzAC5 mwuBHU/etAPIx4B2qQ/+KFzzS1ULRkHuSw45MPTPewH6Mwn7eS8K15zafaCLv/WvDLT4 yOeDe7AcolWrSTr/IwVu6JYMorhMlNZqMzAtQhbpdvj457nMxFi4szMXs8GcVR1P/LNQ UlTg== 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 :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=m6NHHdGhsiMM0VSZJQZtbC9HM/UYXkFDxmCdj/erVqI=; fh=p2Hvis+kYJ9cx8dl+joJ4K/hJ7iSn5KEBEHUSkWTy3U=; b=XsF5vvP+UrxTKZiOlbHzElB3O7lXw7WuDn01ITk0lEq1OCgqQbVGlnt3nP2FSH3yzJ z1bdVigDWhs8W7LzXuYg6VB7n/B/etPQmZaHVdqRZwyjkxiGLu1B8lT5QiVrIBO/lp+G nGKkTENZbJ1qDRYRHuQxN6wmHvKDlRTawtcjuhfd5ELk6MwT6FGR1BjFNNx213rRF3mP ARl1JpYfO8lex5KbARKXiZf5Q802Ol14Iy2dmZgvZcqiXPT0zmTZcE+KHdU959J9UvZX xEn/2kOjRYu5gQtjxm36LbuV6DBD4AqWf6H8MGrvBOae2Dtyo0UeXHPJmtVJOkpYFBoE sgiA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=mHO7VJCX; spf=pass (google.com: domain of fm-51332-2025110512140150b6c1fea800020732-0vmhej@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-2025110512140150b6c1fea800020732-0vMHEJ@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=1762344845; x=1762949645; 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:references:in-reply-to:message-id:date:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=m6NHHdGhsiMM0VSZJQZtbC9HM/UYXkFDxmCdj/erVqI=; b=xpaJR2hcJIjaruwAzwDhqm2ZOfcojSlZxq9cJmXN+S6+5tzJx1KX+KDAudCkYffXAL dHTMwfYrAix+ROGYEBAVlukcqVAp/a3HuwbHefVQ/86a0puAlqitu37ruT8m26hxC7Oo /eW4Fl5AXBw6RAZeQEGTIYx7jXNBAK0xLPX+cXAPmiRuFmlVm3TQWt6KuOCaR2r5Xuag SwtO2KHBUkichbz/JgMqkFpje4WTUk/iHt4UvejBQ0hnixmxQ5t8Hb/Cg/s63LMytX/E OV8BfW7PTyhtvP7yMXqKGmfwiySDo39C3RdT44Z+IjPJnbWETpwgfgYTfEPsLzkycsAf IttQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762344845; x=1762949645; 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:references:in-reply-to:message-id:date:subject:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=m6NHHdGhsiMM0VSZJQZtbC9HM/UYXkFDxmCdj/erVqI=; b=wJ7pJ4hOGkiAyT+hvPQO+N7d4qYYsv1AjfCo6FRRESiH3ip4EnFMsJCBqNId+wJkUv ugfJuy8gSaQuch5BR2q0bMlgEoWtFW8aqpF+L0qeJ0Ktk/6yu22VAYalS9ZeVeP9BLFd vq78PWecEdrRxP/yqfKrxU5HnJq0wfOtQqVYf14TajnO+X4upmUKYVhKdsHpFJudYCLb iOmJiyMqEH+GVBqojVmIqcrWrB+0BlNwRBJcXd9NXHPDE9G8QFIvwby3vLLBSDVAb84H adeG3/0TBtf327RjwmWe1yxr2G3ia7qZ7EV+XegHyUyZB0RVu9HeXgplblQlWQk3LyOo +Nqg== X-Forwarded-Encrypted: i=2; AJvYcCWpn1Uj91msnysUh7fyLrm2ZG5t35SRa/XAAPmlnVhX2kCarWSW4my8SZ6KL1XFI3h2fW+iAok=@isar-build.org X-Gm-Message-State: AOJu0Yyh0SAHK115TL4oQ8FrW/YmUKU/le3hdEEL4NcmZCQue5fSik0r epM0609q86FmIjEXXKmmkT5NKyaL20tUcy8Q5Fxl6MGib56O4L6MEPBx X-Google-Smtp-Source: AGHT+IG2GsDRSnmfpr90iuDp+MQb/vX3GsKDhtne7zPfqdX+uzfQ7WZtWpej9lOQAlJufm4qGLLDJQ== X-Received: by 2002:a05:6402:5351:20b0:640:93b2:fd07 with SMTP id 4fb4d7f45d1cf-64105c9625dmr2142002a12.33.1762344844741; Wed, 05 Nov 2025 04:14:04 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+apthevhVx9kNy64+KUtNCCWzVuNceMT2DvQacfz8EhGA==" Received: by 2002:a05:6402:120e:b0:640:ec04:2e56 with SMTP id 4fb4d7f45d1cf-640ec04338bls1679184a12.2.-pod-prod-02-eu; Wed, 05 Nov 2025 04:14:01 -0800 (PST) X-Received: by 2002:a17:907:3c93:b0:b40:cfe9:ed2c with SMTP id a640c23a62f3a-b72655abb0dmr299407166b.64.1762344841712; Wed, 05 Nov 2025 04:14:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1762344841; cv=none; d=google.com; s=arc-20240605; b=WY2mdwvu91ASu1odsVPE/4SdC3j7YEUG8awY+qdK7Bmk5TW2Sb7qLU/6e9hKcJwp5O 66LxQ5CjsaH9CiE1Pojcd6YnR2DBCzvZu/ZKnadles16A27ehhTeu6pmslZaVckmauAr vL7Po9jEQg5FDdL+NZE6tPaT48o70ZOuY1r8qQoOtN0MhwAGuqtscPvgHwn+RH4xe9sQ P9adGH7iT5qgXdXRsJo5fLRmoW7DmN8EQ0rXyZjbsmszwrQoHwCZIw+qeqiDJ/KAy9dP A0DhuXThHnORdzJdQPN+5pVBZznqcmnIt0ujpa2oDEePkjJYPDGX+M2NCrM5GBm8d0Nu q7Dw== 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:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=TrjJjwe5Q/QqXfugqLcIpDSrDJxMThyL3JFU0gUO518=; fh=pD9NMAE6punlmxDz2SM7DMFwkWrKOHAvTYxfub7CxRs=; b=iB7/9+5IhvsIKF4BfTf1Vxb4P6DJkqFYjhbxiWOsCh7IfFvLdq8hG40v1H/RoemZg2 QIHQQtVGYZAI77b8as582YcCBsMasTA1ZKnZWlopHUfaSpm2k6E+6flnJXWORhpwqknX t30aQYbOxzI4+xcIv5rnavbCdS8LzjbrxFKK/db5utMXorUM/H2bXQ5s1vDnGQ1pz1Ei Kn0VfOrOI2T+RivUP1X283/u2I1fhgMhFj7vT2VKS8rD0JN1+zT+IeAVmB9vQpRAjGBt 6ybxnLtuoB2PEPglDPXKgWDNaAHjAfEoyFLeXPB3Mo5BlObg+VydhMEQWC0MzGearcx8 2kQQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=mHO7VJCX; spf=pass (google.com: domain of fm-51332-2025110512140150b6c1fea800020732-0vmhej@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-2025110512140150b6c1fea800020732-0vMHEJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id a640c23a62f3a-b724130ff62si17951066b.3.2025.11.05.04.14.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Nov 2025 04:14:01 -0800 (PST) Received-SPF: pass (google.com: domain of fm-51332-2025110512140150b6c1fea800020732-0vmhej@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 2025110512140150b6c1fea800020732 for ; Wed, 05 Nov 2025 13:14:01 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com, jan.kiszka@siemens.com, felix.moessbauer@siemens.com, cedric.hombourger@siemens.com Subject: [PATCH v7 08/13] Add class to generate custom dracut initramfs Date: Wed, 5 Nov 2025 13:12:39 +0100 Message-ID: <20251105121350.114449-9-Quirin.Gylstorff@siemens.com> In-Reply-To: <20251105121350.114449-1-Quirin.Gylstorff@siemens.com> References: <20251105121350.114449-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer X-Original-Sender: quirin.gylstorff@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=mHO7VJCX; spf=pass (google.com: domain of fm-51332-2025110512140150b6c1fea800020732-0vmhej@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-2025110512140150b6c1fea800020732-0vMHEJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Quirin Gylstorff Reply-To: Quirin Gylstorff 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?= From: Quirin Gylstorff This class allows to customize a dracut initramfs by using configuration files add addition modules and drivers. It is recommended to use the addition of modules and drivers sparely and prefer dracut configuration files. This class has the option to add custom modules automatically to the initramfs if: - The modules are provided by the ISAR build system - The module name is part of the package name, valid names are - dracut- - -dracut - -dracut- Signed-off-by: Quirin Gylstorff --- meta/classes-recipe/initrd-dracut.bbclass | 58 +++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 meta/classes-recipe/initrd-dracut.bbclass diff --git a/meta/classes-recipe/initrd-dracut.bbclass b/meta/classes-recipe/initrd-dracut.bbclass new file mode 100644 index 00000000..0602c364 --- /dev/null +++ b/meta/classes-recipe/initrd-dracut.bbclass @@ -0,0 +1,58 @@ +# This software is a part of ISAR. +# This class provides the necessary options to +# customize a dracut based initramfs. +# +# This class should not provide every dracut cmdline +# option possible. Use the dracut configuration files. + +INITRAMFS_GENERATOR_PKG = "dracut" + +# The preferred way to configure dracut is to +# provide dracut-config- package which +# contains all necessary config options +DRACUT_CONFIG_PATH ??= "" + +# Variable to add additional kernel driver to the initrd +DRACUT_EXTRA_DRIVERS ??= "" + +# Variable to add additional dracut modules to the initrd +DRACUT_EXTRA_MODULES ??= "" + +# This option does not work with some of the dracut modules in Debian +# as there is no standardized mapping between module name and package name +DRACUT_EXTRACT_MODULES_FROM_PACKAGE_NAMES ??= "False" + +def extend_dracut_cmdline(d): + config_path = d.getVar('DRACUT_CONFIG_PATH') or '' + extra_drivers = d.getVar('DRACUT_EXTRA_DRIVERS') or '' + extra_modules = d.getVar('DRACUT_EXTRA_MODULES') or '' + enable_module_extraction = bb.utils.to_boolean(d.getVar('DRACUT_EXTRACT_MODULES_FROM_PACKAGE_NAMES')) + pkg_list = d.getVar('INITRAMFS_INSTALL') or '' + + cmdline = [] + modules_from_pkg_names = [] + if enable_module_extraction: + for pkg in pkg_list.split(): + # Skip dracut-config-* packages + if pkg.startswith('dracut-config-'): + continue + elif pkg.startswith('dracut-'): + modules_from_pkg_names.append(pkg[7:]) + elif pkg.endswith('-dracut'): + modules_from_pkg_names.append(pkg[:-7]) + elif '-dracut-' in pkg: + _, module_name = pkg.split('-dracut-', 1) + modules_from_pkg_names.append(module_name) + extra_modules = extra_modules + ' ' +' '.join(modules_from_pkg_names) + + if config_path: + cmdline.append(f"--conf {config_path}") + if extra_drivers: + cmdline.append(f"--add-drivers {extra_drivers}") + if extra_modules: + cmdline.append(f"--add {extra_modules}") + return ' '.join(cmdline) + +ROOTFS_INITRAMFS_GENERATOR_CMDLINE:append = " ${@ extend_dracut_cmdline(d)}" + +inherit initramfs