From patchwork Wed Nov 5 09:29:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4526 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 10:37:31 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f63.google.com (mail-wr1-f63.google.com [209.85.221.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5A59bTMn016530 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 5 Nov 2025 10:37:29 +0100 Received: by mail-wr1-f63.google.com with SMTP id ffacd0b85a97d-429c71c5892sf3967796f8f.1 for ; Wed, 05 Nov 2025 01:37:29 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1762335444; cv=pass; d=google.com; s=arc-20240605; b=TXGlkyM2eJeyZ2HBQQhvb0UdpXsxGQYYHCKB1zQkaxEBBeUKNhPVB+osWJa1mdXJMC 4LoWXSVm0lR5HFY/IhFA/6tegvKsCiR3OgpMM1j+0HttsNOw3ktwCkKaqDh+OEvkuVvM PuUm0jEBNwT9DtQjIhwDWDXBnIkezOLjqK27S7La8IR+vPsj3EsZsyFw0eij+1OHsFe0 fknC1ZFzdH5tTgjcDeRl+tXJDcODgUgRLlu/fq7Ed0g32qmjmr5uZZkCW2lNFUvc96N0 TfKLDMwXxO1f4481UQxX75uXWVzE3XFv5ZG+eX4iVMc5UBaciW2by/4vy6n5Nfqy4w/8 VlmQ== 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=tCATom+GG2RtoHGNEt3Hxh0GJrWqNTXMRIQBdsCQfVQ=; fh=9svdzFk92chS2T6IqTEvQCkKUr06OsV3e3+x8EQbw7Q=; b=j7018AtuzKKlGP2X5g0Pi68pOhgRda9pR8llcDHSMLdDmXOQ03uy3gqnuxOKzk8B30 GmpIbzfgBUprfSlwEyL3/eQzuIOovlEeuJWCsLKFuPY0QukAc+fIi6AgC7mWUYEisQtx Mlih4hTYJGWw9ZXOs+ReDyYhjSlAs++ycwpUChWYj0jciwoTJx9lDMCCAwpyNFDXofbg 2e5RBDj5XmRWk2zMli7Vbih1tSXxkZh28rtxwvT9ehnHkPFuOaaO7r3xzVHcCWAYAzvE hs3HNRZrUfmamYZ5bFgFtFWIaZ0VloE+whtM7vSPpi+O2ZG5ao0wruf67yKOZtuscoko 9Siw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=V0lXpDFr; spf=pass (google.com: domain of fm-51332-20251105093720e93533b76000020779-tv19c7@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-20251105093720e93533b76000020779-Tv19C7@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=1762335444; x=1762940244; 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=tCATom+GG2RtoHGNEt3Hxh0GJrWqNTXMRIQBdsCQfVQ=; b=pa8dVoxwSlhIHG0F35ZzbEPfHD02p3RyUdMZs9b4MLYJ0llo52oOuTnq73GFR9jGdD SUeB9LpGhW2MG3f25ccsVcWEuf0cWo2l2/gumjcqB/j5efc+FAsJ+jCLyzE6gUzvV76r MlsR5cBk44oIVe3u/r2qToWMFN7VEAo7jXLNw4dbE0arjpVJ5qIbKA1Wtsmy0YCAyv8k RchfDUmBkufkuWjebEiyJ3V5w43omAU9450USe2zts5Y5OULBbrotH9yMI93QOVbYdxE ZXPWkOBtN8Afq8LcaCfCsYNkd2NXJAEQdFXISQ64qBT6C3GvYvOLFuzTYD8Xqq2awNtR KABQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762335444; x=1762940244; 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=tCATom+GG2RtoHGNEt3Hxh0GJrWqNTXMRIQBdsCQfVQ=; b=ZEeP1cAmb5Ylzv0ZjJjPpVxWkItVox9zVyNx1WSaLLJCFpeesU6qP8HpTe8y+2WqyZ VwPTDQ4om9V//wr/TP6ntFAkry+usglM6EfC8NAVVXExG/OpcIEIrUQTPs4J6+PwlRHT ukhlGBmiKt4eph5SoNsiOYXncjniHb7+uQqbWa3lkcnhFq6X0ZoRseKbZT/Ply+vfkjj 4rU2bRak3F+PE1F8hX4ZLqWipqm0eUa/Yy+U/aPWrmxLsWa776yA/uZEp8l3rMa+mE8t cJJ23wSUsHtvm/U+6lQt+6heLoP84KEs9NHTCXnwa8wITIjgFlHUxxrrLPffcbgz0+1W vEiw== X-Forwarded-Encrypted: i=2; AJvYcCWr/4zIOQlII+QPSdLtkP4iZx91YAy5KZCzc/BGQzTl0reMYB+qLFaEBNsMeFoQhhuzVqy7LfE=@isar-build.org X-Gm-Message-State: AOJu0YwhoPWknVdM3gLTGvyoBYsnyuW5G5Um/1uhQ0lGrqTLATM0OzMV dd6VOD76vEgkF6nQ9hITFaTFpTZBNsmqmyoir3VW4rRhrNNdPvnT5ltu X-Google-Smtp-Source: AGHT+IGgsU4pguM9TVPwvbJT6rAmJQ0e7c+0jEP9v/iT8xkIuaPwCu7KkZqrbE5e1v7Jfowo0k/AYg== X-Received: by 2002:a05:6000:2287:b0:429:d6dc:ae3e with SMTP id ffacd0b85a97d-429e3313344mr2054628f8f.49.1762335444118; Wed, 05 Nov 2025 01:37:24 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+a10s6mPDkJhTzgrqDklO0HXwOeWzltG6uZp+lzQEa7IA==" Received: by 2002:adf:8b11:0:b0:429:d66b:5082 with SMTP id ffacd0b85a97d-429d66b5263ls1553595f8f.0.-pod-prod-05-eu; Wed, 05 Nov 2025 01:37:21 -0800 (PST) X-Received: by 2002:a05:6000:2681:b0:429:bb4c:9589 with SMTP id ffacd0b85a97d-429e3276a4emr1982102f8f.0.1762335440896; Wed, 05 Nov 2025 01:37:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1762335440; cv=none; d=google.com; s=arc-20240605; b=YJ/Jx1Cqum4ceA9Utsp2mJ/1DZMzgQNStkI5qxGUZ4oi+s5LiXQxQTbg+YQdIf9gaI 4mAZVX5789dvl2CQLKXG9vs81OEJgd2Zql1v/Off94EsX590CUQpJHC7B9IiXIRUKd2k 6KcU+wgTPiw6dQE8Max/NrcfuCd6HJ03bDzoND5BSKpwdOUdF24kNu9xRgoNjv07p5jW X5rDaqc+vernVO/n7ES527otcoFULXazfD+ELo3bOfm9sfvsiY0Mv+jZpu+Nf04zrwon kGf0a+qCfsel5a6wOlmaNLkTmFrOYUu82MLy47J+IQkDwQIZTQEObqAHE1SBl1OsJt1b 9hnA== 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=+Tnq/+ANasvqxV3d0CDTpd6dU0ij0aXRwP9onyZdXLw=; fh=pD9NMAE6punlmxDz2SM7DMFwkWrKOHAvTYxfub7CxRs=; b=FLLi6LN/vucAssHpNUhAs4hoLiw5tR3+1toiBbmsZ4tSdhKQX/cDJvWerlM0/suk+T EsV1FrmPLgVOMLBVT+4FT+/RSybWnW8HSykcgv+PfQHIOnXjJnFlW157aUBWWni2JWLy N1eTs79eY0m3bBXwcfKM3LG+IND/P2QHERPHSEKKE3JPwcuwsraXlq+dtrw/z5FB7fkw y4evDa68WlYoCjsBNBz1uv2wqtd/f9jlWBcgo80qW4XyRrt4COIHeizDOcrUy3qL1zaM 9i7aqPhwYg5dlP4z8jctuNYBcprZ5bMjcCoHuY8rastz1Wpn+37QMR2g4QwYjpBPwOFE GZZA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=V0lXpDFr; spf=pass (google.com: domain of fm-51332-20251105093720e93533b76000020779-tv19c7@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-20251105093720e93533b76000020779-Tv19C7@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-429dc1f3281si95523f8f.8.2025.11.05.01.37.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Nov 2025 01:37:20 -0800 (PST) Received-SPF: pass (google.com: domain of fm-51332-20251105093720e93533b76000020779-tv19c7@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251105093720e93533b76000020779 for ; Wed, 05 Nov 2025 10:37:20 +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 v6 08/13] Add class to generate custom dracut initramfs Date: Wed, 5 Nov 2025 10:29:23 +0100 Message-ID: <20251105093710.19582-9-Quirin.Gylstorff@siemens.com> In-Reply-To: <20251105093710.19582-1-Quirin.Gylstorff@siemens.com> References: <20251105093710.19582-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=V0lXpDFr; spf=pass (google.com: domain of fm-51332-20251105093720e93533b76000020779-tv19c7@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-20251105093720e93533b76000020779-Tv19C7@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/initrd-dracut.bbclass | 58 ++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 meta/classes/initrd-dracut.bbclass diff --git a/meta/classes/initrd-dracut.bbclass b/meta/classes/initrd-dracut.bbclass new file mode 100644 index 00000000..0602c364 --- /dev/null +++ b/meta/classes/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