From patchwork Wed Oct 29 18:08:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 4455 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 29 Oct 2025 19:08:29 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f190.google.com (mail-lj1-f190.google.com [209.85.208.190]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 59TI8TJn001459 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 29 Oct 2025 19:08:29 +0100 Received: by mail-lj1-f190.google.com with SMTP id 38308e7fff4ca-37a0cc22ec1sf251381fa.3 for ; Wed, 29 Oct 2025 11:08:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1761761303; cv=pass; d=google.com; s=arc-20240605; b=JsZxqzYAmvHr1os3r1ID8+1LE7vhOij1Bs34y5hMxmiVYWy220BDHx/TacqVkHr2g5 Vr3ptoRUcA/Vd2u/+VTF+j/sovkpGEGxSucpT6i0CbtHabz7N/5BdMyjcnz4we89uqPd 7OY4okN2mNoqYKkuWyqXTPPcilTgTi/Io2XNB1RbTY7yW86tl25Jc8VFBYkJPnIRp0et f2H2O5xL45fwvRT2u+/qcLOlpqJv8/PjGsw40Qf36ieyS21xwJUKU+5kNnJc47zs8VUM dviWmk5Og1kO8rmQaXV8TxCB8uExQM/nupMZoxPeHh67fXhh+0iXs9U/dtslMTyyMnBl lFIg== 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=ZmL5BZpFUUPfp+d5IrjeBJeaq9V+QHItjXYyGsmV8v0=; fh=/EZsiMYJZNCOI24oEdcvbT6hqx+Pvm2dslxYHFlkdOw=; b=YLPZBPqq/2aTsL5YhH5V5u8WD6/pCCUaXXS0EFpbxu0MsaXtZUL9V88rTsS9RZNn7D EOnCSFBQifPTXcrHl5p4LIqLO52Qvoq727oLdVnGzo+p+a/F2huDdkFTeW9BMWRQ7Jw3 qH7wwdeiK3FV/7aABojdyP4wZpUCFzkw3O++MAm88NkU96r0YqEpy22fW7olOpYmfis4 ordXEn1SYvL+XOIcog0AIJyWoN1vFuuUTtN24Qhg7aUG/xhEOC9EaDAjRGgO2NjqF9Qw nzrDzncoL7b4iuuRKjMjNWHbcR126hwOJBMZP0KASAcx3fVCWsgfgcyaRkRuepSfzX2Q XKeA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="f5na/IrB"; spf=pass (google.com: domain of fm-294854-20251029180817602ec478200002070a-5fesbf@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-294854-20251029180817602ec478200002070a-5fESBf@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=1761761303; x=1762366103; 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=ZmL5BZpFUUPfp+d5IrjeBJeaq9V+QHItjXYyGsmV8v0=; b=S+tzfElC5ejUhG0kA+Sx0iPiTKeKSL5OSCLXtfpKMcGLu6fjCRoG/GOa5ombPu3RXr AWXxbRxz/2vFUFx2DQA4UTtwTXmEs2vak7nGa0AROjXmgvQSrHjwClMD5FIUfycPid+z FatfojOYrLV+x0N/KRg/SZ2KX2qxt27sMqk5k48H7xMWh2LIffCe4so43Uy7YOVzX55y HKiTMjRzaT1Ud5cMQMCp7JRfmfJ9nBffdVW1vLWm52N/NnXwOwbQ7J6IB1LT2Cu72M0l +Eqqrfb4TRnH8GlYaw7io1EiUxXQ+Ih+sRt1ZE0PJrt4IducEG6rvhYEBq5gwCr8R2a+ 4sjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761761303; x=1762366103; 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=ZmL5BZpFUUPfp+d5IrjeBJeaq9V+QHItjXYyGsmV8v0=; b=PzZmI4HZhtYp93gv+gqTGUxL3F6XOG/bbUkfb0YqKbVGx1iSlRaXQj1dIRCn16is1x P24r1L8odLVPp9LzJLuYISYTdMpd1EL+5SzXbgNoJFAabrf5UKlTx7ByLWDsFGOjsOW+ 84Nec9a1jUVBcWYHD8rCn96YLC75pK6xh6IIAML9+rwxqisRFV5p7cWL5yreD4ApY0mI rxB5/cCdD/clMjH9GqslbGqTUDO33qcw21KGrG9WcdttWzqOpExtQo06gTtiUZqbP88H cK/bPbEiTPa6JJPEbQxAbWAKCl59Nc2fdrBv7cCNbvVWcG2uTSW1vJnjsVsQFZZkdeAm iJgA== X-Forwarded-Encrypted: i=2; AJvYcCVwKEgJfh6vwC5paglT5mXZUGY2IQnc3ydiqj8yLyv+wOx+fQeT4e7gLmCGWm0YHW2ZkpTH/zo=@isar-build.org X-Gm-Message-State: AOJu0YzoQDQ62rjnEKMl1DNEUAjwXSzIk1+8WzrXCFIxyLsjZK3j1jlQ 8RcCNrOFhlMg3KJJdnkfnZMnW68c2jw4bVOMSa4nN5ewlCm6/ppnAVz/ X-Google-Smtp-Source: AGHT+IFnWP2XFVKMRHiGL9gw2XMuW5ZW6bKTuSRvXlomdm8wRF6/nNQEEuTbBrFd40/H1uqndmhX+w== X-Received: by 2002:a05:651c:210e:b0:379:77f:64b with SMTP id 38308e7fff4ca-37a1093a364mr1043781fa.14.1761761302499; Wed, 29 Oct 2025 11:08:22 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+bi8bk62EeNeP2DamNZVLBRvk9k/WQSwDxb2Pb1sg9ILg==" Received: by 2002:a2e:7217:0:b0:378:d379:937c with SMTP id 38308e7fff4ca-37a10a703e7ls212431fa.2.-pod-prod-08-eu; Wed, 29 Oct 2025 11:08:19 -0700 (PDT) X-Received: by 2002:a2e:9dd3:0:b0:378:d1b7:d553 with SMTP id 38308e7fff4ca-37a1093ae29mr1149721fa.17.1761761298851; Wed, 29 Oct 2025 11:08:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1761761298; cv=none; d=google.com; s=arc-20240605; b=DIKHCoSilhWTpEHZzKh5maLMYPjWXOnNj14hZLNU482b82EpGZOIZfDa1dflIPpJmu chtn9/7lkW2HjXUYLfWTT0VF9ZBIs9boX9JNMAyLGKL54ZYcXEL+WpyEGgWTkEjTKxXP iAFj4z9w1fwvRp2JWQD6QUJrS1TvyEaSALd+6oTfxXfdsm9X5BImijB4Aw/x4PnRY4ip 2tiRiOvxY0fIXGCx9F7HLuVH077aYxF+2A+m5iCnwGhwVUNwharYoHchi3ZE17iGsMHb 35LY5qZI9zo+kntgWzrYc2tQKl7/P5mRwGBKgXId7PWaE7r9PJ7ZVGheZE3c/XGlYi4G 5j6w== 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=/ArUfs15qkOKFiBB1zoAyKZtqwpE2bUArPxszRO4Dtw=; fh=hOBXq6nisExkIRIwN8IDOmOCLKwX8PM0ANlxQbNMEqA=; b=iROu7+AId1CM+R97FshbhfxGFmI4Na/fQhI8XB11VxFWMcMTHecrDqcE0pEnk5LCsN tqc6m9i1/XK5xwOodyeUT2br7gJAZbt3NlFipBsckZKjn+1mLg2uzLilgBPrfVVtSB2M Bvxn3qQHGAdwh0rA5ENNFTwgrqPpokudQoBGu1Oj/bb7yWOu3OjMSbLqJC/p4q/GuDzT 00/RDQu9qDRn0C6ZYXSzdr7gcEHYGdZAcAbGYyNXdcErAZUfbIfijyY1OPIZ5a+1yYbN N7a5Rn4BgCx6x5E2zVSYpM7PSkZwBFnOzvUHuQ8NR8e7uQRBUX8RCrvVL/DLJC7Hq5Dw TbjA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="f5na/IrB"; spf=pass (google.com: domain of fm-294854-20251029180817602ec478200002070a-5fesbf@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-294854-20251029180817602ec478200002070a-5fESBf@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net. [185.136.65.227]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-378eef28281si1985151fa.5.2025.10.29.11.08.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Oct 2025 11:08:18 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-294854-20251029180817602ec478200002070a-5fesbf@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) client-ip=185.136.65.227; Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251029180817602ec478200002070a for ; Wed, 29 Oct 2025 19:08:17 +0100 X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Subject: [PATCH 1/3] meta: Add class for building custom OpenSBI firmware Date: Wed, 29 Oct 2025 19:08:15 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-294854:519-21489:flowmailer X-Original-Sender: jan.kiszka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="f5na/IrB"; spf=pass (google.com: domain of fm-294854-20251029180817602ec478200002070a-5fesbf@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-294854-20251029180817602ec478200002070a-5fESBf@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Jan Kiszka Reply-To: Jan Kiszka 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: Jan Kiszka This is supposed to simplify this customization task. For the first time, this deviates from the *-custom.inc pattern used for many other targets, using a class which is shorter to inherit. Other targets should be converted to this pattern later on. Signed-off-by: Jan Kiszka --- RECIPE-API-CHANGELOG.md | 6 ++++++ meta/classes/opensbi.bbclass | 28 ++++++++++++++++++++++++++++ meta/recipes-bsp/opensbi/rules.tmpl | 19 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 meta/classes/opensbi.bbclass create mode 100644 meta/recipes-bsp/opensbi/rules.tmpl diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index cf04fa5c..1826667a 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -791,3 +791,9 @@ Set `Rules-Requires-Root: no` in `debian/control` files to prevent unnecessary invocation of fakeroot during package builds. This follows Debian guidelines recommending not to use fakeroot when no privileged operations (e.g., `chown`, root file modifications) are required. + +### Add opensbi class to simplify custom OpenSBI builds + +A new class called `opensbi` has been introduced that shall help writing +shorter recipes for custom OpenSBI builds. Usage examples can be found in +`meta-isar/recipes/bsp/opensbi`. diff --git a/meta/classes/opensbi.bbclass b/meta/classes/opensbi.bbclass new file mode 100644 index 00000000..4475bd95 --- /dev/null +++ b/meta/classes/opensbi.bbclass @@ -0,0 +1,28 @@ +# Custom OpenSBI build +# +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2025 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +DESCRIPTION ?= "Custom OpenSBI" + +FILESPATH:append = ":${LAYERDIR_core}/recipes-bsp/opensbi" +SRC_URI += "file://rules.tmpl" + +OPENSBI_PLATFORM ?= "generic" +OPENSBI_EXTRA_BUILDARGS ?= "" + +TEMPLATE_FILES = "rules.tmpl" +TEMPLATE_VARS += "OPENSBI_PLATFORM OPENSBI_EXTRA_BUILDARGS" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + deb_debianize + + for bin in ${OPENSBI_BIN}; do + echo "build/platform/${OPENSBI_PLATFORM}/firmware/$bin /usr/lib/opensbi/${MACHINE}/" >> ${S}/debian/install + done +} diff --git a/meta/recipes-bsp/opensbi/rules.tmpl b/meta/recipes-bsp/opensbi/rules.tmpl new file mode 100644 index 00000000..935d033e --- /dev/null +++ b/meta/recipes-bsp/opensbi/rules.tmpl @@ -0,0 +1,19 @@ +#!/usr/bin/make -f + +# Debian rules for custom OpenSBI build +# +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2025 +# +# SPDX-License-Identifier: MIT + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- +endif + +override_dh_auto_build: + CFLAGS= LDFLAGS= $(MAKE) $(PARALLEL_MAKE) PLATFORM=${OPENSBI_PLATFORM} \ + ${OPENSBI_EXTRA_BUILDARGS} + +%: + dh $@