From patchwork Mon Oct 6 18:31:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4396 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 06 Oct 2025 20:44:41 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ua1-f62.google.com (mail-ua1-f62.google.com [209.85.222.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 596Iieha030274 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 6 Oct 2025 20:44:40 +0200 Received: by mail-ua1-f62.google.com with SMTP id a1e0cc1a2514c-8f6c7e6a3a1sf7069657241.3 for ; Mon, 06 Oct 2025 11:44:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1759776274; cv=pass; d=google.com; s=arc-20240605; b=jIkbq7EkoO8ETQ1C7yvEgickf8hNosM5gI4TNyyscFFhupTqlRogJ7yvQ/+iXmD58E kjn+VeBsgCss52Izs8mkFqYZD5ThgC2kSnvQ6CpkiL0Q+67KsvhNOb4eU/llRWgMbeDy ebfCfLNuYz5vDFl7tMI98RyiGbS8bqAukmYA9QRejeY2k/dPCiMi2j/CBquKgWrMS4YD vRf3L6vlSmU4SJOy0V0kLOqFrsTg5Z5DA1xZVC/jGFCDdtAeZOf/BWLrtHhHmNPHeFAY zQzeqDIfXcbK60QUDBm1ff5rfDxNTL0MrtA/abhzyOq43/vmeqeabs8BzxF+t/MOAGtJ L0kw== 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=ZuTlLQUsqEX/SY8Pn/zq/47A8y0zSvUFvdKjOBTu8LE=; fh=/kXhseiMJlYpsP1f+IRpiZRU7svI+pujj2LqxPknNK8=; b=I59nZCM/IYixAMGQrdkUYzoFUYuELnEVoS6DqLPM8ajKWvFZaoI0AfsGBChqNxRLbW PDNs/p1lBseqMdh8PW1T0b6GHko3vp9Fv7UKOCU08+tiWsk5OVH9KbJX7guDFtCy9heM EFRvJPosA1uL0rT0yyQKCm6OW8cxBp51BZUbNLpf+FFRSbVGNjTao8cKUQQ10gS0lJzo t88e22hzXEGnjH9AE93of5MZj0sBOVsS+fv53n5p6Db93ZxE6oVPnOPHtAzkYrVgdwe7 j1GEYI3NMabvovdIF+1XWTKLh25ohzElb3jELZlhUow81rDuSpSBdjK+TEcO7G5doyY3 wJ8A==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=cwkI+8UG; spf=pass (google.com: domain of fm-51332-20251006183216a382ee9bbf000207f6-_eiogn@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-20251006183216a382ee9bbf000207f6-_eioGN@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=1759776274; x=1760381074; 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=ZuTlLQUsqEX/SY8Pn/zq/47A8y0zSvUFvdKjOBTu8LE=; b=VFJbihT1Y00Jmux+B11gHLptJyE5dxjAz+0cM2asUNneQVSFiKEkcJ8bO4WIJdz85E 34EyWKckRLXG7BYf65kIc4i+7jKBdkmVmYH60jrZBmRPN+LEww61yiG5EzIl4arMkExb QCOk+KX1zUrMbgZfbBmLTY+8sX0x8bvXbamw3uBNnTmDrlj/raEzye404UnA6YkxF4bJ lUDFLPTl5UHjybV1yAOn3AznlxFNPx8qBCrvN0Rf+QZRHgb0Yi6vvnGWAsDwCi2eASGw GAxhoWWD6cv5yCjbR2ytLWRZK8SvSt10ORAwrBc4fSF0aWxw2jpBwXjfLzsTJ3MturkN tjCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759776274; x=1760381074; 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=ZuTlLQUsqEX/SY8Pn/zq/47A8y0zSvUFvdKjOBTu8LE=; b=dX/LgT3QmoElHk+Tp/zTaw0svKyms4Z/kDmJXJ2C1I9mMKmNo8H7HUz+YtROJBaK7F 9MgxqbgmJRapqnUa3qH84RAiU/SLKLtvzee9Owm9pHIG/q+1TFb/dlEm0UtDbfEoJptG FMcjy6+/OSPZWixi8otMV4QAMiHIs2bGnt/M6KwumlGUrT+rNXVDuTQ154HBcOpdCtxE 15l0omfc7NkDk4lpTJZCq4wH2yZ2PMrFKpo0h+b+dtWo1Miud6YWJ19VNkT/dY44H26y rRIrT0q+0MevFqBy7DE8ffXEIy/9hmcCDbR1B/Z3hNrjCIY7bUuGXaoNAbEAiWKsiKDL mZow== X-Forwarded-Encrypted: i=2; AJvYcCWh582n0piv4bLa2uY+0NOZ0EVlNYdwkD2Bub0tJ/mnHTNrgEbTMEUOuhSi706jIdHoReXJQsE=@isar-build.org X-Gm-Message-State: AOJu0YxncsmtHZrwxrABudfwpFmbivEDgdQeSTTLUkmgl6qrFGAQWb6A 3N474GGbVE3HcekhQFNHERE3FD4t1XnCoHS0zgQULA6rH3WyBfSMxzPi X-Google-Smtp-Source: AGHT+IHLug+V3j/IF5ovX+8rCI8oUM8in++0UB1NClqLjcLAiTyF9Q9Uf8A2/ISSrLPv73N+ySIjrQ== X-Received: by 2002:a05:622a:11cd:b0:4b7:a68d:6797 with SMTP id d75a77b69052e-4e576a46c68mr165027471cf.11.1759775538893; Mon, 06 Oct 2025 11:32:18 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ARHlJd4s+Z/r8q/xmDnthHgKISZeiV4AROivcR1oDgzsgWKoCw==" Received: by 2002:a05:622a:831a:b0:4b0:9935:4640 with SMTP id d75a77b69052e-4e557dc3492ls88656991cf.0.-pod-prod-09-us; Mon, 06 Oct 2025 11:32:17 -0700 (PDT) X-Received: by 2002:a05:620a:28cd:b0:85d:3c32:c412 with SMTP id af79cd13be357-87a36779655mr1562473185a.5.1759775537625; Mon, 06 Oct 2025 11:32:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1759775537; cv=none; d=google.com; s=arc-20240605; b=ZN2Ml/Gj/FJBxChyiyB/dFWjaPbENdULS1n9u1qHJasuWRNvYPmre60jr7H/QWuafc StbNGdH2nJ5nOCmi96UcNYZ9YSGmYygNs+0im9k1a6LQlLbLiWdscsGCYxcvLmmEb43l yHG676pWsC3RGpajn7NZa3PNtsRyAAxWbtF05mBhJJcH1fuMYliFZfG+MaAz8aCP+5Ig GO+uVRvt3qsWOcQyIvRiFT9sEmET0q+1GjKr6iao/EKSeLttdNvRMDODqXKTib3fmLC2 juipoj1KQDUqjhiDk0mieIH9NnoKirCtxbxf6Wk80yNkr1NdhTIvqc/V+2Mc3jQpqV93 XODA== 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=eJmVB/3FOminAHPp9KvJ4TXk2iaglypZuC7L2XolxXA=; fh=pD9NMAE6punlmxDz2SM7DMFwkWrKOHAvTYxfub7CxRs=; b=Nrou1CcY4ylCTuAyFFNky9Ysx3wB/CEaQ/EOFYw0EJv4TAY1pzlditoNiRqBVbA1JO Tz17mFIw2KPXsVj/Pmj1l1ei8DZgkpR469VnCapAanRLYcZUd/JUVIFxJu4qfhsX4kg5 l4XwEtkOVLFfUZfnGnjOPy9dfsnDVCBEzpoSbiXL9EODIWXUK4zNz5+xFRRdy+m/ECwi GgSKgNQIafvUzwhji6g6yhYoneLPYmYsTXSFxByqd920VhCj5bG3W97KfCCTAN4ilqUj c0l3XUDoAHa1DUB1HDy4rZk9AHk8h1oxpfo+yHFagPUPIJfp2MpYrgAKn0wb6KDHl1ZA JQJQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=cwkI+8UG; spf=pass (google.com: domain of fm-51332-20251006183216a382ee9bbf000207f6-_eiogn@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-20251006183216a382ee9bbf000207f6-_eioGN@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 d75a77b69052e-4e55ccdcdf6si26931cf.3.2025.10.06.11.32.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Oct 2025 11:32:17 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-20251006183216a382ee9bbf000207f6-_eiogn@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 20251006183216a382ee9bbf000207f6 for ; Mon, 06 Oct 2025 20:32:16 +0200 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: [RFC PATCH v3 05/10] Add class to generate custom dracut initramfs Date: Mon, 6 Oct 2025 20:31:07 +0200 Message-ID: <20251006183214.1593195-6-Quirin.Gylstorff@siemens.com> In-Reply-To: <20251006183214.1593195-1-Quirin.Gylstorff@siemens.com> References: <20251006183214.1593195-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=cwkI+8UG; spf=pass (google.com: domain of fm-51332-20251006183216a382ee9bbf000207f6-_eiogn@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-20251006183216a382ee9bbf000207f6-_eioGN@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_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..a06296cc --- /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_CONFIG_PATH') or '' + extra_modules = d.getVar('DRACUT_CONFIG_PATH') 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()}" +inherit initramfs