From patchwork Thu Oct 30 09:44:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4462 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 30 Oct 2025 10:45:40 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-ej1-f62.google.com (mail-ej1-f62.google.com [209.85.218.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 59U9jd7D005636 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 30 Oct 2025 10:45:39 +0100 Received: by mail-ej1-f62.google.com with SMTP id a640c23a62f3a-b6d4f19c13csf65824666b.3 for ; Thu, 30 Oct 2025 02:45:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1761817533; cv=pass; d=google.com; s=arc-20240605; b=XaP6Ta11ekceYHsdBbi8m3qlYx4MSK19U2URnAkBnVGyZfK+3HQt/VBV/MS0i09RvV HXqCXCdg/kTBOoNakvn3L2uqhrNnw3bA28IJkSjV5SLAjT7scAtScR0b/EEbuDNhrACE frKszzPHHkwoZvDJQlYS4oVQ/w/UiMcL4oqRFPUwKD1wih5ptjfEnyfx9UFGKfddG7yi 3pKd5Bjb8HHbIOeDsYdCP+48/+ynSrzzWSkWfcGbNxZ4OaBPjicY9nkHoT9a6FyZJr5h +2RSeK6XBGxhrdvUdKeqgq90VAlDvKSR/4o4oLU8qvD90Gx0h3rWv7T7QXXOkkGDlNO9 dkjw== 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=ArcomXT0DXBm065RcKFUHbz/b7JYKYknt8cexRd4/1I=; fh=5AfHamNmlw5Sl1eOlsHe1KnLmz0aF9XKTFxPF7aNkDI=; b=eqPPzFU2mw/F/WQc3ne/IgPhApf4M8X7suYoEzrJR7V3qPqL+zZuRf5GwdLBMM4OWM wn/DXAl6TtwhAej1XwY5SigoZbI7rhcHkyRH8Yaj7cAuucEzZQN1J0GNSUc2VXVPAxl0 oaN0CH+8Mv8i8xYlRiYWMThvVGuZmn1BRZ08yOE5RLX82+VjkZU35Jno+gJRnznv9xVw JaFffhmkeJQbj5eu6WK8gQIP/wpbkcfdcI4xfZzDbc1Qm2qXnt3SgGaeuonqxHBz2n42 Ea6WEMFsFMFYL+PLbyu6wCzkFBIzNz3mPgi7Bgv8vAA7UsHxMC69LcBsJape0tIgYcoK 7ryg==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Bo6lz3VU; spf=pass (google.com: domain of fm-51332-202510300945284314a665fd00020740-4s_z2k@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-51332-202510300945284314a665fd00020740-4S_z2k@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=1761817533; x=1762422333; 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=ArcomXT0DXBm065RcKFUHbz/b7JYKYknt8cexRd4/1I=; b=aWoi8ZEdvq+fZIy5VKm9a71z4SbuLCC07oce3I3fBJhTTEUfcESHFqhaeUPke7WuPq Gpo08UzXX4EvuSnnN65l2g6Ly/fjYeE9nhfXWw57h7JDE8nk4yK9p/03djKLWZWv4sZQ /7F9LgYeXWElQpgLjSGZz/zxb4khaXDaSP400KzvZ5AznuyoEEylfRIu/rEHW9DWg4ya xsebRxvYA44swQ0TZBjPrqOVcR65TytgZshgEwdSPFIshrL/1X+XfFqLOoOJJrPByrXF wpKn6ZSgx8YwaLdwEdsC1bD4cIZgMKZx3OiHElIfuA7/75aHgWGzmeCqC7PWFOD7TaPi Zx7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761817533; x=1762422333; 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=ArcomXT0DXBm065RcKFUHbz/b7JYKYknt8cexRd4/1I=; b=K1du0uLo8lCcOPfEeH14r08zGHioqIGU16nNmk8JGN4/PeKO4ArRmO5f3YC1w8hCxq hZUs29FOgWvU+/bNJVb5raKzrvzz8yJcHu3WdUWF52whY09qQkGELhDe8fyjw7R35Yjb u/g3Wdq1v19ARgBGi0J/R/43+F5tAb62SUCaqKUG6khRP0F9YR8JIONC+XA9Sp11gsRx r9uKE0pnBDOGYGaW+UOwvvpCPhUIGcgtutvP56a69M7ytsy+OrfGMzQBwwsaVDVvxdEk rBAZ/bRMSSyUwkWU/Auuv94KzyqVIhkNhnNMb2Eip135M73ooNdC3mXqX5pwBstNpc1D NcFQ== X-Forwarded-Encrypted: i=2; AJvYcCXarrpolpneZ2NAEvgfoiwtk0AnhCNpoCruYcDth0pVOxuwQ6zNHPCZCVlEM4ICjcMBFFQfZ6w=@isar-build.org X-Gm-Message-State: AOJu0YzNBQQqzw0VoA17ryPr7bk3gvXGwLy/qHeHmTEfRRJ2dRX2PXyE LQ/GqhKpAFbs4RzY0N4G03iMmlZV+Xpj9mGFoBRczdsCYovfw2m/UEYD X-Google-Smtp-Source: AGHT+IGaIFp8/6HlF9BIirLhBhEqGTLR8uRl4zGvoRaMoGiqrKN9F62jlqh8Byf96bxQJfM4S78Hew== X-Received: by 2002:a17:907:6e8d:b0:b49:b3ca:52b4 with SMTP id a640c23a62f3a-b703d3121b6mr619614866b.23.1761817532662; Thu, 30 Oct 2025 02:45:32 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+ZcGycLBN+gsQzCHaYIZentWeoHfX2vxZSQce2OCwNcyA==" Received: by 2002:a05:6402:208c:10b0:640:4aa8:4e9e with SMTP id 4fb4d7f45d1cf-6405f839f48ls565971a12.0.-pod-prod-05-eu; Thu, 30 Oct 2025 02:45:29 -0700 (PDT) X-Received: by 2002:a05:6402:2347:b0:63b:f59b:e607 with SMTP id 4fb4d7f45d1cf-64044189c9bmr4995741a12.2.1761817529247; Thu, 30 Oct 2025 02:45:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1761817529; cv=none; d=google.com; s=arc-20240605; b=GdJ6RrTi2RYWiSpVDuDvDXNJkK0y9+zg+z9bWQsxTCTsyBmUDK4fbiPUpOn4qctYMz E550UeRAT2Ga34ECXB5IS4TY5WhawTho/GZQrW1kqB99cnf0oH5/2ZercSoQniDQ/yYA v4DRH0xw0E7I1vknww8ig5cCfyv6qcO8hfV+tmcAMj8HrypvibCJEVnSL7/yrm8ezGQt 56V3H4Y1/NttH+FotH61znhL4szjV/K01GA6m7FaKFQDg+bazpfEVUzfmlNa0tU1Tokz edglJ9bBgCMWmyGmdtL4MIowrpaf5q/jTwHInQKyPlKHM2isGmSuJbo28qEYQNrz5BSp 8ZTg== 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=j7JBP5lBj9Krrokg+JTP06lgn/MCEDpYd6G2sELYFMT9/RICEsoBBRTglZ8iuyNfx+ Wu/RtNtYO0ZTUX1U+S25PciwkUS96+ELVz92pGpw94SbP9P5fcsSSk8tXl6WUfycla/q XpgKM3VNnHUaeXTacl42E9keHgKiJhHMs01QF53EYLwiaSXCZwzU/74pYzPnSEHcZnxs 0xKMxVSg9aLS2+ZOYhVVy2zYg2XuRALFKK4FMeAGosphdOdasPIVWP7MU0q40PaZUvdi SQUhp90rzMJ/+zVlQaH5zGoLe2nDpmAt20VXTTuzYlum5wG2oId+5OCdxxHXW1Khl0iJ M93Q==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Bo6lz3VU; spf=pass (google.com: domain of fm-51332-202510300945284314a665fd00020740-4s_z2k@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-51332-202510300945284314a665fd00020740-4S_z2k@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-63e811672ddsi326278a12.2.2025.10.30.02.45.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Oct 2025 02:45:29 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-202510300945284314a665fd00020740-4s_z2k@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 202510300945284314a665fd00020740 for ; Thu, 30 Oct 2025 10:45:29 +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 v5 07/12] Add class to generate custom dracut initramfs Date: Thu, 30 Oct 2025 10:44:41 +0100 Message-ID: <20251030094451.1303871-8-Quirin.Gylstorff@siemens.com> In-Reply-To: <20251030094451.1303871-1-Quirin.Gylstorff@siemens.com> References: <20251030094451.1303871-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=Bo6lz3VU; spf=pass (google.com: domain of fm-51332-202510300945284314a665fd00020740-4s_z2k@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-51332-202510300945284314a665fd00020740-4S_z2k@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_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?= 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