* [isar-cip-core][PATCH 1/5] u-boot: Set COMPATIBLE_MACHINE to drop PREFERRED_PROVIDER_u-boot-*
2025-11-12 7:12 [isar-cip-core][PATCH 0/5] Small recipe improvements for u-boot and opensbi Jan Kiszka
@ 2025-11-12 7:12 ` Jan Kiszka
2025-11-12 7:12 ` [isar-cip-core][PATCH 2/5] u-boot: Add U_BOOT_EXTRA_BUILDARGS to rules.tmpl Jan Kiszka
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2025-11-12 7:12 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
This is better to maintain as it keeps the key information local to the
u-boot recipe.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
conf/machine/bbb.conf | 1 -
conf/machine/qemu-arm.conf | 2 --
conf/machine/qemu-arm64.conf | 2 --
conf/machine/qemu-riscv64.conf | 2 --
recipes-bsp/u-boot/u-boot-bbb_2025.07.bb | 4 +++-
recipes-bsp/u-boot/u-boot-qemu-arm64_2025.07.bb | 4 +++-
recipes-bsp/u-boot/u-boot-qemu-arm_2025.07.bb | 4 +++-
recipes-bsp/u-boot/u-boot-qemu-riscv64_2025.07.bb | 4 +++-
8 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/conf/machine/bbb.conf b/conf/machine/bbb.conf
index f9ef832b..3005b336 100644
--- a/conf/machine/bbb.conf
+++ b/conf/machine/bbb.conf
@@ -19,5 +19,4 @@ KERNEL_DEFCONFIG = "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/arm/cip_bbb_de
# for SWUpdate setups: watchdog is configured in U-Boot
WDOG_TIMEOUT = "0"
-PREFERRED_PROVIDER_u-boot-${MACHINE} = "u-boot-bbb"
PREFERRED_PROVIDER_factory-reset-helper = "factory-reset-helper-file"
diff --git a/conf/machine/qemu-arm.conf b/conf/machine/qemu-arm.conf
index 29adaa51..768ea997 100644
--- a/conf/machine/qemu-arm.conf
+++ b/conf/machine/qemu-arm.conf
@@ -16,6 +16,4 @@ KERNEL_DEFCONFIG ?= "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/arm/qemu_arm_
# watchdog is not yet supported in our QEMU executor for this platform, disable it
WDOG_TIMEOUT = "0"
-PREFERRED_PROVIDER_u-boot-${MACHINE} = "u-boot-qemu-arm"
-
PREFERRED_PROVIDER_factory-reset-helper = "factory-reset-helper-file"
diff --git a/conf/machine/qemu-arm64.conf b/conf/machine/qemu-arm64.conf
index 0745938b..dfb986de 100644
--- a/conf/machine/qemu-arm64.conf
+++ b/conf/machine/qemu-arm64.conf
@@ -17,6 +17,4 @@ KERNEL_DEFCONFIG ?= "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/arm64/cip_mer
# watchdog is not yet supported in our QEMU executor for this platform, disable it
WDOG_TIMEOUT = "0"
-PREFERRED_PROVIDER_u-boot-${MACHINE} = "u-boot-qemu-arm64"
-
PREFERRED_PROVIDER_factory-reset-helper = "factory-reset-helper-file"
diff --git a/conf/machine/qemu-riscv64.conf b/conf/machine/qemu-riscv64.conf
index 25b19b08..399672ac 100644
--- a/conf/machine/qemu-riscv64.conf
+++ b/conf/machine/qemu-riscv64.conf
@@ -19,6 +19,4 @@ KERNEL_DEFCONFIG ?= "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/riscv/cip_mer
# watchdog is not yet supported in our QEMU executor for this platform, disable it
WDOG_TIMEOUT = "0"
-PREFERRED_PROVIDER_u-boot-${MACHINE} = "u-boot-qemu-riscv64"
-
PREFERRED_PROVIDER_factory-reset-helper = "factory-reset-helper-file"
diff --git a/recipes-bsp/u-boot/u-boot-bbb_2025.07.bb b/recipes-bsp/u-boot/u-boot-bbb_2025.07.bb
index e727c5af..d62058f6 100644
--- a/recipes-bsp/u-boot/u-boot-bbb_2025.07.bb
+++ b/recipes-bsp/u-boot/u-boot-bbb_2025.07.bb
@@ -1,7 +1,7 @@
#
# CIP Core, generic profile
#
-# Copyright (c) Siemens AG, 2022-2024
+# Copyright (c) Siemens AG, 2022-2025
#
# Authors:
# Jan Kiszka <jan.kiszka@siemens.com>
@@ -11,6 +11,8 @@
require u-boot-common-${PV}.inc
+COMPATIBLE_MACHINE = "bbb"
+
U_BOOT_CONFIG = "am335x_evm_defconfig"
U_BOOT_BIN = "all"
diff --git a/recipes-bsp/u-boot/u-boot-qemu-arm64_2025.07.bb b/recipes-bsp/u-boot/u-boot-qemu-arm64_2025.07.bb
index 9ce62937..40a39858 100644
--- a/recipes-bsp/u-boot/u-boot-qemu-arm64_2025.07.bb
+++ b/recipes-bsp/u-boot/u-boot-qemu-arm64_2025.07.bb
@@ -1,7 +1,7 @@
#
# CIP Core, generic profile
#
-# Copyright (c) Siemens AG, 2022
+# Copyright (c) Siemens AG, 2022-2025
#
# Authors:
# Jan Kiszka <jan.kiszka@siemens.com>
@@ -12,4 +12,6 @@
require u-boot-common-${PV}.inc
require u-boot-qemu-common.inc
+COMPATIBLE_MACHINE = "qemu-arm64"
+
U_BOOT_CONFIG = "qemu_arm64_defconfig"
diff --git a/recipes-bsp/u-boot/u-boot-qemu-arm_2025.07.bb b/recipes-bsp/u-boot/u-boot-qemu-arm_2025.07.bb
index 8540bfc5..416462dd 100644
--- a/recipes-bsp/u-boot/u-boot-qemu-arm_2025.07.bb
+++ b/recipes-bsp/u-boot/u-boot-qemu-arm_2025.07.bb
@@ -1,7 +1,7 @@
#
# CIP Core, generic profile
#
-# Copyright (c) Siemens AG, 2022
+# Copyright (c) Siemens AG, 2022-2025
#
# Authors:
# Jan Kiszka <jan.kiszka@siemens.com>
@@ -12,4 +12,6 @@
require u-boot-common-${PV}.inc
require u-boot-qemu-common.inc
+COMPATIBLE_MACHINE = "qemu-arm"
+
U_BOOT_CONFIG = "qemu_arm_defconfig"
diff --git a/recipes-bsp/u-boot/u-boot-qemu-riscv64_2025.07.bb b/recipes-bsp/u-boot/u-boot-qemu-riscv64_2025.07.bb
index 43b9e28d..8db94910 100644
--- a/recipes-bsp/u-boot/u-boot-qemu-riscv64_2025.07.bb
+++ b/recipes-bsp/u-boot/u-boot-qemu-riscv64_2025.07.bb
@@ -1,7 +1,7 @@
#
# CIP Core, generic profile
#
-# Copyright (c) Siemens AG, 2022-2024
+# Copyright (c) Siemens AG, 2022-2025
#
# Authors:
# Jan Kiszka <jan.kiszka@siemens.com>
@@ -12,6 +12,8 @@
require u-boot-common-${PV}.inc
require u-boot-qemu-common.inc
+COMPATIBLE_MACHINE = "qemu-riscv64"
+
# we run as OpenSBI payload, hence use smode
U_BOOT_CONFIG = "${MACHINE}_smode_defconfig"
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [isar-cip-core][PATCH 2/5] u-boot: Add U_BOOT_EXTRA_BUILDARGS to rules.tmpl
2025-11-12 7:12 [isar-cip-core][PATCH 0/5] Small recipe improvements for u-boot and opensbi Jan Kiszka
2025-11-12 7:12 ` [isar-cip-core][PATCH 1/5] u-boot: Set COMPATIBLE_MACHINE to drop PREFERRED_PROVIDER_u-boot-* Jan Kiszka
@ 2025-11-12 7:12 ` Jan Kiszka
2025-11-12 7:12 ` [isar-cip-core][PATCH 3/5] opensbi: Refactor opensbi.inc Jan Kiszka
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2025-11-12 7:12 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
Upstream isar introduced that in 02e8053e6824. Will help to avoid forks
of the common rules.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
recipes-bsp/u-boot/files/rules.tmpl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/recipes-bsp/u-boot/files/rules.tmpl b/recipes-bsp/u-boot/files/rules.tmpl
index 593919c3..bbf7bb5a 100755
--- a/recipes-bsp/u-boot/files/rules.tmpl
+++ b/recipes-bsp/u-boot/files/rules.tmpl
@@ -24,7 +24,7 @@ override_dh_auto_build:
tools/efivar.py set -i ubootefi.var -n db -d secure-boot.esl -t file; \
fi
$(MAKE) $(PARALLEL_MAKE) ${U_BOOT_CONFIG}
- $(MAKE) $(PARALLEL_MAKE) ${U_BOOT_BIN}
+ $(MAKE) $(PARALLEL_MAKE) ${U_BOOT_EXTRA_BUILDARGS} ${U_BOOT_BIN}
$(MAKE) -n u-boot-initial-env >/dev/null 2>&1; if [ $$? -ne 2 ]; then \
$(MAKE) $(PARALLEL_MAKE) u-boot-initial-env; \
else \
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [isar-cip-core][PATCH 3/5] opensbi: Refactor opensbi.inc
2025-11-12 7:12 [isar-cip-core][PATCH 0/5] Small recipe improvements for u-boot and opensbi Jan Kiszka
2025-11-12 7:12 ` [isar-cip-core][PATCH 1/5] u-boot: Set COMPATIBLE_MACHINE to drop PREFERRED_PROVIDER_u-boot-* Jan Kiszka
2025-11-12 7:12 ` [isar-cip-core][PATCH 2/5] u-boot: Add U_BOOT_EXTRA_BUILDARGS to rules.tmpl Jan Kiszka
@ 2025-11-12 7:12 ` Jan Kiszka
2025-11-12 7:12 ` [isar-cip-core][PATCH 4/5] Update isar revision Jan Kiszka
2025-11-12 7:12 ` [isar-cip-core][PATCH 5/5] opensbi-qemu-riscv64: Use the new class Jan Kiszka
4 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2025-11-12 7:12 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
The abstraction of opensbi.inc made some incorrect or suboptimal
choices.
First of all, only QEMU will deploy a firmware.bin, other targets will
more likely embed the output into another artifact (u-boot, disk image
etc.).
Then, U-Boot may also be the integrator of the opensbi output.
Therefore, pull all dependencies into the qemu recipe.
Factor out OPENSBI_DEPLOY_BIN to allow packaging different bits of the
build process for other boards.
And finally, PLATFORM will most likely only be set to "generic", so
hard-code this.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb | 13 +++++++++++++
recipes-bsp/opensbi/opensbi.inc | 17 ++---------------
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb b/recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb
index 260d1390..7623f132 100644
--- a/recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb
+++ b/recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb
@@ -5,6 +5,19 @@
include opensbi.inc
+inherit deploy-firmware
+
SRC_URI += "file://qemu-riscv64-rules"
SRC_URI[opensbi.sha256sum] = "2cf856a4e5e2e052948ddb54ba48232b1f698b7f52e0374fc7d17d51e8c8f7ce"
+
+DEPENDS += "u-boot-qemu-riscv64"
+DEBIAN_BUILD_DEPENDS .= ", u-boot-qemu-riscv64"
+
+OPENSBI_BIN = "fw_payload.bin"
+
+do_deploy_firmware() {
+ dpkg --fsys-tarfile "${WORKDIR}/${PN}_${PV}_${DISTRO_ARCH}.deb" | \
+ tar xOf - "./usr/lib/opensbi/${MACHINE}/${OPENSBI_BIN}" \
+ > "${DEPLOYDIR_FIRMWARE}/${OPENSBI_BIN}"
+}
diff --git a/recipes-bsp/opensbi/opensbi.inc b/recipes-bsp/opensbi/opensbi.inc
index 6d840264..1f15312b 100644
--- a/recipes-bsp/opensbi/opensbi.inc
+++ b/recipes-bsp/opensbi/opensbi.inc
@@ -1,32 +1,19 @@
#
-# Copyright (c) Siemens AG, 2023
+# Copyright (c) Siemens AG, 2023-2025
#
# SPDX-License-Identifier: MIT
inherit dpkg
-inherit deploy-firmware
-
-U_BOOT_PACKAGE ?= "u-boot-${MACHINE}"
-PLATFORM ?= "generic"
SRC_URI = " \
https://github.com/riscv/opensbi/archive/v${PV}.tar.gz;downloadfilename=opensbi-${PV}.tar.gz;name=opensbi"
S = "${WORKDIR}/opensbi-${PV}"
-DEPENDS += "${U_BOOT_PACKAGE}"
-DEBIAN_BUILD_DEPENDS .= ",${U_BOOT_PACKAGE}"
-
do_prepare_build[cleandirs] += "${S}/debian"
do_prepare_build() {
cp ${WORKDIR}/${MACHINE}-rules ${WORKDIR}/rules
deb_debianize
- echo "build/platform/${PLATFORM}/firmware/fw_payload.bin /usr/lib/opensbi/${MACHINE}/" > ${S}/debian/install
-}
-
-do_deploy_firmware() {
- dpkg --fsys-tarfile "${WORKDIR}/${PN}_${PV}_${DISTRO_ARCH}.deb" | \
- tar xOf - "./usr/lib/opensbi/${MACHINE}/fw_payload.bin" \
- > "${DEPLOYDIR_FIRMWARE}/fw_payload.bin"
+ echo "build/platform/generic/firmware/${OPENSBI_BIN} /usr/lib/opensbi/${MACHINE}/" > ${S}/debian/install
}
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [isar-cip-core][PATCH 4/5] Update isar revision
2025-11-12 7:12 [isar-cip-core][PATCH 0/5] Small recipe improvements for u-boot and opensbi Jan Kiszka
` (2 preceding siblings ...)
2025-11-12 7:12 ` [isar-cip-core][PATCH 3/5] opensbi: Refactor opensbi.inc Jan Kiszka
@ 2025-11-12 7:12 ` Jan Kiszka
2025-11-12 7:12 ` [isar-cip-core][PATCH 5/5] opensbi-qemu-riscv64: Use the new class Jan Kiszka
4 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2025-11-12 7:12 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
Specifically brings simplified OpenSBI building, some small fix for
initramfs-tee-ftpm-hook and fixes in the recipe dependency chain of
cross-built kernels.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
kas-cip.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kas-cip.yml b/kas-cip.yml
index b7d403f2..806ba182 100644
--- a/kas-cip.yml
+++ b/kas-cip.yml
@@ -22,7 +22,7 @@ repos:
isar:
url: https://github.com/ilbers/isar.git
- commit: fd711088bc7eb84fb040c0fad5059e79a765bc89
+ commit: 5bb743ad0ae4e87ef5a14ce4897c14694b46d0c5
layers:
meta:
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [isar-cip-core][PATCH 5/5] opensbi-qemu-riscv64: Use the new class
2025-11-12 7:12 [isar-cip-core][PATCH 0/5] Small recipe improvements for u-boot and opensbi Jan Kiszka
` (3 preceding siblings ...)
2025-11-12 7:12 ` [isar-cip-core][PATCH 4/5] Update isar revision Jan Kiszka
@ 2025-11-12 7:12 ` Jan Kiszka
4 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2025-11-12 7:12 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
This simplifies our own recipe for qemu.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
recipes-bsp/opensbi/files/qemu-riscv64-rules | 12 ------------
.../opensbi/opensbi-qemu-riscv64_1.7.bb | 7 ++-----
recipes-bsp/opensbi/opensbi.inc | 19 -------------------
recipes-bsp/opensbi/opensbi_1.7.inc | 11 +++++++++++
4 files changed, 13 insertions(+), 36 deletions(-)
delete mode 100644 recipes-bsp/opensbi/files/qemu-riscv64-rules
delete mode 100644 recipes-bsp/opensbi/opensbi.inc
create mode 100644 recipes-bsp/opensbi/opensbi_1.7.inc
diff --git a/recipes-bsp/opensbi/files/qemu-riscv64-rules b/recipes-bsp/opensbi/files/qemu-riscv64-rules
deleted file mode 100644
index 960e10cb..00000000
--- a/recipes-bsp/opensbi/files/qemu-riscv64-rules
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/make -f
-
-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=generic \
- FW_PAYLOAD_PATH=/usr/lib/u-boot/qemu-riscv64/u-boot.bin
-
-%:
- dh $@
diff --git a/recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb b/recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb
index 7623f132..6e3f2497 100644
--- a/recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb
+++ b/recipes-bsp/opensbi/opensbi-qemu-riscv64_1.7.bb
@@ -3,18 +3,15 @@
#
# SPDX-License-Identifier: MIT
-include opensbi.inc
+include opensbi_${PV}.inc
inherit deploy-firmware
-SRC_URI += "file://qemu-riscv64-rules"
-
-SRC_URI[opensbi.sha256sum] = "2cf856a4e5e2e052948ddb54ba48232b1f698b7f52e0374fc7d17d51e8c8f7ce"
-
DEPENDS += "u-boot-qemu-riscv64"
DEBIAN_BUILD_DEPENDS .= ", u-boot-qemu-riscv64"
OPENSBI_BIN = "fw_payload.bin"
+OPENSBI_EXTRA_BUILDARGS = "FW_PAYLOAD_PATH=/usr/lib/u-boot/qemu-riscv64/u-boot.bin"
do_deploy_firmware() {
dpkg --fsys-tarfile "${WORKDIR}/${PN}_${PV}_${DISTRO_ARCH}.deb" | \
diff --git a/recipes-bsp/opensbi/opensbi.inc b/recipes-bsp/opensbi/opensbi.inc
deleted file mode 100644
index 1f15312b..00000000
--- a/recipes-bsp/opensbi/opensbi.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (c) Siemens AG, 2023-2025
-#
-# SPDX-License-Identifier: MIT
-
-inherit dpkg
-
-SRC_URI = " \
- https://github.com/riscv/opensbi/archive/v${PV}.tar.gz;downloadfilename=opensbi-${PV}.tar.gz;name=opensbi"
-
-S = "${WORKDIR}/opensbi-${PV}"
-
-do_prepare_build[cleandirs] += "${S}/debian"
-do_prepare_build() {
- cp ${WORKDIR}/${MACHINE}-rules ${WORKDIR}/rules
- deb_debianize
-
- echo "build/platform/generic/firmware/${OPENSBI_BIN} /usr/lib/opensbi/${MACHINE}/" > ${S}/debian/install
-}
diff --git a/recipes-bsp/opensbi/opensbi_1.7.inc b/recipes-bsp/opensbi/opensbi_1.7.inc
new file mode 100644
index 00000000..c83935be
--- /dev/null
+++ b/recipes-bsp/opensbi/opensbi_1.7.inc
@@ -0,0 +1,11 @@
+#
+# Copyright (c) Siemens AG, 2023-2025
+#
+# SPDX-License-Identifier: MIT
+
+inherit opensbi
+
+SRC_URI += "https://github.com/riscv/opensbi/archive/v${PV}.tar.gz;downloadfilename=opensbi-${PV}.tar.gz;name=opensbi"
+SRC_URI[opensbi.sha256sum] = "2cf856a4e5e2e052948ddb54ba48232b1f698b7f52e0374fc7d17d51e8c8f7ce"
+
+S = "${WORKDIR}/opensbi-${PV}"
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread