From patchwork Wed Oct 22 15:06:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4426 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 22 Oct 2025 17:08:13 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f57.google.com (mail-wm1-f57.google.com [209.85.128.57]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 59MF8CcP020094 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 22 Oct 2025 17:08:12 +0200 Received: by mail-wm1-f57.google.com with SMTP id 5b1f17b1804b1-472ce95ed1dsf27489695e9.3 for ; Wed, 22 Oct 2025 08:08:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1761145687; cv=pass; d=google.com; s=arc-20240605; b=ioDG+TMdnlutPNWiiiYJE2UDQMiw4pJv9a+bL2HC9HBcofYIhbGy/ph85DHOgmWGBk 5KQj9SOiB6JR8L9nJG7ftgtz6ugWBu+ut2xiAWumld31Q5Ze8b9YXgyLNx127eouuO+7 HByUw81Qts+xSM0JNjUrBjopOvGMyPxIOWy9Ipr8u6os2lVfSrmIpx6+Lt1wVJYjxyJ2 wabKFme3NG8BTIIviwpWVQaWY4RQhepdJ8Gq7eXhQIFEQHHdDH0iRUKpbdxS2NE4jUuZ BMNKA7z3QdTIVsL1O+McZUh1oRMzi7F+Xtc5Qr7lh/mBUR5OXOkLm5vQp1v+sLyNhHAN t1VQ== 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=tOPeYmJkUuZwPDDbo33WAFh3iJaGn5+XVe+42JEEa7Q=; fh=WgALqpW3cGWKyE54k5t+BXsiRtHESehcNUm6aQIB550=; b=Ky9sfu5Y1+BjHYSEC/2WrpEzE8NpNxVIQtxM8jQKml1Xe8PQZeJvGCecvDMfVKBD8v hqMWWGf+7zKeUJzyvIYnK25EpbaGl+6XKwE3UCAI7NDnBlhFLBs7IKtHbrXJOEeW3i4x O1afPfkVI27tnerRdFTccFFlQU89n+YTl6o+3dnVXoo6Ze3qrhUi7SoZ2zh2NIKAXN5E XUTsjmdfIW95uFUu6K5G1rd/imHtNi15qDTa0L4CV48uPnXA0CmIAPXGWJDOmWchQM2T Le1PT4y6F3blLWmDeFvUnRjVcHP/x/5YVNLbm4wqdzEv8X8LO3GaoLCSpxFmJz4Vhf3N wHDg==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=lgV4NuCq; spf=pass (google.com: domain of fm-51332-20251022150802efdd5f90360002073a-id6esy@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-20251022150802efdd5f90360002073a-iD6esy@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=1761145687; x=1761750487; 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=tOPeYmJkUuZwPDDbo33WAFh3iJaGn5+XVe+42JEEa7Q=; b=tWor/egQW5+ErccumUftHDX8wGnKmsFoT6XEB4W03qto8+lfbp9yJhnQQzuHugU77z n7vVM8f8QUzGHh1d6xBPuz6pMMBKznKFfS6BF3coMqvOU2PLnFjybKt7GEKU2anzC5I1 UGLvMcAEPOwpdUpCgtHtfTTLoWFDwyOeFvv4fOJr1ImUibcWjlGV6HpBRki0X9+7ZIKz 62utRy+MyCR6OYKNKdhFoGElNw6ey9mBaYHF9CGkMPs9Qq8Tr8qkUhgRlCfPxowxp7G/ NRAFfTdg8kHCJOS8Q9Vu4/d1v/TimnNidyQcFqJQROKi090UqdhA6aJUtBSTKWpJSO/J Ho6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761145687; x=1761750487; 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=tOPeYmJkUuZwPDDbo33WAFh3iJaGn5+XVe+42JEEa7Q=; b=G8g9OzegLeXn66KkY+zo1RK1ORk38na2Yt4vD1YkqHrPBT9+c9K8OIX1szEZwWdWlx sG6HVjpEQxH5W0QxfaUJva3pe6ETY3l446am1IaEK2585CA5f4PbOkqPaxTZsNVzFB0/ kBknO1q+25fuK9O5cnkz5YrrT9Oo4ZuQEZlZCfxWowNx56tPlod3WXE0rkcfJyugeu+V MejbUnOg3LMshYtzhJuUwfdMrdHIE5gVmiyEe0FFqeUiqCTgFDTaCsxqnyNrRYklyTnl F1WeYYpETNa/wQvpoXXTgJ5+IhrNLMhe7l5dUN4v2DAYNzoGdaYe23qcuNfBfWPtjEAk T1PQ== X-Forwarded-Encrypted: i=2; AJvYcCUHxa9cE+75ZaIKJBzpaNfcDiY2sJ1GSiBiVzgSsLBGmMSeRthxeG7rNVYd1qogLV+qx3n/Zr4=@isar-build.org X-Gm-Message-State: AOJu0Yw91ivJBFWByE/V/h1WXzefGBhtDTfE3+D4tQoapj/92JbB9BGy gxoY2/cymSg4EhZT64ZCH5W7CZuD2QT0FGemVojjeVcFnJPCpzRTMl2W X-Google-Smtp-Source: AGHT+IE8uzWEj1W4in1TYiaUGTVkTEPm9tkbH/SKe70VwtoDIVAEZpT5apFK56N35g5rrM4M63YpoA== X-Received: by 2002:a05:600c:5026:b0:46e:477a:f3dd with SMTP id 5b1f17b1804b1-4711792a680mr157889205e9.36.1761145686619; Wed, 22 Oct 2025 08:08:06 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ARHlJd6xikASVP6Zv6VyiX4uUWIxBxASpdEXSDJrTE2MlIxbsQ==" Received: by 2002:a05:600c:8a17:10b0:471:a42:614c with SMTP id 5b1f17b1804b1-47110b19a7bls7884675e9.1.-pod-prod-01-eu; Wed, 22 Oct 2025 08:08:03 -0700 (PDT) X-Received: by 2002:a05:600c:a4a:b0:46f:c0c9:6961 with SMTP id 5b1f17b1804b1-471178a08d8mr142252425e9.14.1761145683580; Wed, 22 Oct 2025 08:08:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1761145683; cv=none; d=google.com; s=arc-20240605; b=ewVyaaAC+Tn1KTNbGfa5uonDYdgWHY+1DSqbpzdcBnKarYB7RA76U9qCb2hfCVqNiQ 6ko77xQLDMgrGDQC4KkGSvk49Y8yooiIr8Bx2qJXe+YfUNOIRVvX22TQtM7lFet28cH+ IWqjF9Yq5DIOxaLncEf7IchPqPOhSL9AMn2T15QkeYVsi0TbnXtZQneUrKQ6QIbpyoff IsNDv73QOPMZr8MYsBtl2KCGGet3qQ5XUpkxURjZo3Ub1Hzg83T6cHpfnT7TbJt+a5r1 p1POT4Bl6oFSAgHqZXhhX968vv/ycBVgeol/PKvKDSdj+7YJArkSPZd+Q2DfoLAsxBGF DjJw== 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=JL0YLSiaB7YDHD/maeAtnXscZVhRPdwFdGWb9Lda7mA=; fh=AzWnWRpmCf4IZdBJvbC6ssKrEpudtaH0OvZvfrmMWYg=; b=LCW2MmqLcDEpo+5yO7N+F+j1NFoYx+ZEkuJidL9s2yejjKold7mVqTBUtQX1gdAIiO Y6xSSMrqe+Gr8xXXixMmW2UhLJV9S78Z52EZzwoQUFYZN8OgK3vF97HFf2Zp/ogxlRbA qlbiK0PVERNl6y+ADx+Yh6y4CfrPh7vY0tvpKFy37yfphyyYO1V8qNHBJk8Ao8YyVskp UI894kRGzS52UtiIp7pG9DA8IwpDhaU/9TbfbhOFYox4eGt/JoPOxRNO6qjLSY85wOM4 QHB/AtXFjpSrQ8XPQ3I2qkWDX/jirKFO50XHInHbpH8s6EPU4ZzOVG7+y2UqYQPsmax4 j2Lg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=lgV4NuCq; spf=pass (google.com: domain of fm-51332-20251022150802efdd5f90360002073a-id6esy@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-20251022150802efdd5f90360002073a-iD6esy@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 5b1f17b1804b1-47496b28e1esi1383985e9.2.2025.10.22.08.08.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Oct 2025 08:08:03 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-20251022150802efdd5f90360002073a-id6esy@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 20251022150802efdd5f90360002073a for ; Wed, 22 Oct 2025 17:08:03 +0200 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com, cedric.hombourger@siemens.com, jan.kiszka@siemens.com, felix.moessbauer@siemens.com Subject: [PATCH v4 05/10] Add class to generate custom dracut initramfs Date: Wed, 22 Oct 2025 17:06:55 +0200 Message-ID: <20251022150737.3639891-6-Quirin.Gylstorff@siemens.com> In-Reply-To: <20251022150737.3639891-1-Quirin.Gylstorff@siemens.com> References: <20251022150737.3639891-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=fm2 header.b=lgV4NuCq; spf=pass (google.com: domain of fm-51332-20251022150802efdd5f90360002073a-id6esy@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-20251022150802efdd5f90360002073a-iD6esy@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 | 49 ++++++++++++++++++++++++++++++ 1 file changed, 49 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..53cb6df5 --- /dev/null +++ b/meta/classes/initrd-dracut.bbclass @@ -0,0 +1,49 @@ +# 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 ??= "" +DRACUT_EXTRA_DRIVERS ??= "" +DRACUT_EXTRA_MODULES ??= "" +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_LIST')) + 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 += "${@ extend_dracut_cmdline(d)}" +inherit initramfs