From: Zhihang Wei <wzh@ilbers.de>
To: Anton Mikanovich <amikan@ilbers.de>, isar-users@googlegroups.com
Subject: Re: [PATCH v5 0/3] Deploy DTBs with separate recipe
Date: Mon, 9 Feb 2026 15:31:33 +0100 [thread overview]
Message-ID: <73a7e61b-150e-485f-93a1-ec752d83035e@ilbers.de> (raw)
In-Reply-To: <20260206122910.248334-1-amikan@ilbers.de>
On 2/6/26 13:27, Anton Mikanovich wrote:
> Image task "do_copy_boot_files" is used to deploy kernel, initrd and
> devicetree binaries to deploy directory.
>
> When different images for the same target are built (e.g., "-base" and
> "-debug") in parallel, this causes issues with DTB deployment since
> they have no any image_name-specific stuff in the path, unlike kernel
> and initrd.
>
> Here we make a separate recipe responsible for the DTB deployment.
> DTBs are extracted from the kernel package (provided by distro or
> self-built).
>
> The recipe 'dtb-files' is MACHINE-dependent, so different DTB_FILES
> may be deployed for different machines. At the same time, all these
> 'dtb-files-${MACHINE}' targets depend on the same kernel package, so
> it is built only once.
>
> The case when different distros (e.g., bullseye/bookworm) are using the
> same name for DTB binaries is covered by the patch 1. It also covers
> the case when image uses different kernel suffix (e.g., "realtime"
> option for the kernel in some downstreams).
>
> Related topics on maillist:
>
> https://groups.google.com/g/isar-users/c/ht3YmKZcJlM
> https://groups.google.com/g/isar-users/c/4BRDM02xC40
> https://groups.google.com/g/isar-users/c/qAnjahjjfsw
> https://groups.google.com/g/isar-users/c/ZMD4XY4dKWQ
> https://groups.google.com/g/isar-users/c/PSGU_AcdPZ8
> https://groups.google.com/g/isar-users/c/Va0Ue-ISYeA
> https://groups.google.com/g/isar-users/c/ixzytHYnTmI
>
> Changes since v4:
> - Rebase on next.
> - Squash latest patch to first one.
> - Fix deploy paths in initrd tests.
>
> Changes since v3:
> - Rebase on next.
> - Fix target deploy dir path for installer.
>
> Changes since v2:
> - Patch 1: Consider also kernel suffix.
> - Patch 2: Use separate testcase for possible dtb clashes.
> - Minor cosmetic fixes.
>
> Changes since v1:
> - Separate `dtb-files` recipe used instead of linux one
> - Included older "[PATCH] Fix do_copy_boot_files error" into the
> series ( https://groups.google.com/g/isar-users/c/Va0Ue-ISYeA )
>
> Anton Mikanovich (1):
> testsuite: Add test to check dtb deployment
>
> Ilia Skochilov (1):
> meta: Fix do_copy_boot_files error for different distros of same
> machine
>
> Uladzimir Bely (1):
> meta: Move DTB deployment to a separate dtb-files recipe
>
> RECIPE-API-CHANGELOG.md | 15 +++++++
> .../installer-add-rootfs.bbclass | 4 +-
> meta/classes-recipe/image.bbclass | 15 +++----
> meta/conf/bitbake.conf | 2 +-
> meta/recipes-kernel/dtb-files/dtb-files.bb | 41 +++++++++++++++++++
> testsuite/citest.py | 30 ++++++++++++--
> 6 files changed, 92 insertions(+), 15 deletions(-)
> create mode 100644 meta/recipes-kernel/dtb-files/dtb-files.bb
>
Hi, from CI side there is at least one confirmed error:
In full, "citest.py:NoCrossTest.test_nocross" failed when building target
'mc:qemuamd64-iso-bookworm:isar-image-ci'.
Log follows:
ERROR: mc:qemuamd64-iso-bookworm:isar-image-ci-1.0-r0 do_image_wic:
ExecutionError('/work/build/tmp/work/debian-bookworm-amd64/isar-image-ci-qemuamd64-iso/1.0-r0/temp/run.do_image_wic.94122',
1, None, None)
ERROR: Logfile of failure stored in:
/work/build/tmp/work/debian-bookworm-amd64/isar-image-ci-qemuamd64-iso/1.0-r0/temp/log.do_image_wic.94122
ERROR: Task
(mc:qemuamd64-iso-bookworm:/work/build/../meta-test/recipes-core/images/isar-image-ci.bb:do_image_wic)
failed with exit code '1'
And log.do_image_wic.94122:
......
Setting up grub-common (2.06-13+deb12u1) ...
Setting up grub-efi-amd64-bin (2.06-13+deb12u1) ...
Processing triggers for libc-bin (2.36-9+deb12u13) ...
Processing triggers for man-db (2.11.2-2) ...
INFO: Creating image(s)...
ERROR: _exec_cmd: cd
/tmp/isar-image-ci-debian-bookworm-qemuamd64-iso.wic/tmp.wic.27jkr5qc/INITRD
&& find . | cpio -o -H newc -R root:root
>/tmp/isar-image-ci-debian-bookworm-qemuamd64-iso.wic/tmp.wic.27jkr5qc/initrd.cpio
returned '127' instead of 0
output: /bin/sh: 1: cpio: not found
To redo the test using avocado:
1. Have a clean clone of isar, checkout to branch next and apply your
patches:
$ git clone -b next https://github.com/ilbers/isar.git
$ cd isar
$ git am /path-to/0001-my-contribution-to-isar.patch
2. Disable unrelated targets to make error appears faster, by applying
the following diff to "testsuite/citest.py":
diff --git a/testsuite/citest.py b/testsuite/citest.py
index bed0505b..8586f76b 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -711,36 +711,7 @@ class NoCrossTest(CIBaseTest):
def test_nocross(self):
targets = [
- 'mc:qemuarm-buster:isar-image-ci',
- 'mc:qemuarm-bullseye:isar-image-base',
- 'mc:qemuarm64-bullseye:isar-image-base',
- 'mc:qemuarm64-bookworm:isar-image-ci',
- 'mc:qemui386-buster:isar-image-base',
- 'mc:qemui386-bullseye:isar-image-base',
- 'mc:qemuamd64-buster:isar-image-ci',
- 'mc:qemuamd64-bullseye:isar-initramfs',
- 'mc:qemumipsel-bullseye:isar-image-base',
- 'mc:imx6-sabrelite-bullseye:isar-image-base',
- 'mc:phyboard-mira-bullseye:isar-image-base',
- 'mc:hikey-bullseye:isar-image-base',
- 'mc:virtualbox-bullseye:isar-image-base',
- 'mc:virtualbox-bookworm:isar-image-base',
- 'mc:bananapi-bullseye:isar-image-base',
- 'mc:bananapi-bookworm:isar-image-base',
- 'mc:nanopi-neo-bullseye:isar-image-base',
- 'mc:nanopi-neo-bookworm:isar-image-base',
- 'mc:qemuamd64-focal:isar-image-ci',
- 'mc:qemuamd64-bookworm:isar-image-ci',
'mc:qemuamd64-iso-bookworm:isar-image-ci',
- 'mc:qemui386-bookworm:isar-image-base',
- 'mc:qemumipsel-bookworm:isar-image-ci',
- 'mc:hikey-bookworm:isar-image-base',
- 'mc:beagleplay-bookworm:isar-image-base',
- 'mc:qemuarm64-noble:isar-image-base',
- 'mc:qemuamd64-noble:isar-image-base',
- 'mc:qemuamd64-jammy:isar-image-base',
- 'mc:qemuarm64-jammy:isar-image-base',
- 'mc:x86-pc-bookworm:isar-image-base',
]
self.init()
3. Run kas shell, setup CI prerequisites (avocado, qemu) and cleanup:
$ ./kas/kas-container shell kas/isar.yaml --command \
"rm -rf /work/build/conf && /work/scripts/ci_setup.sh"
4. Run the failed test:
$ cd /work/testsuite
$ avocado run citest.py:NoCrossTest.test_nocross$
(took ~6 minutes on my laptop for this error to show up)
There are other errors but I believe they are caused by network
failures. I'm re-testing them
now. Otherwise I'll let you know.
Zhihang
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/73a7e61b-150e-485f-93a1-ec752d83035e%40ilbers.de.
prev parent reply other threads:[~2026-02-09 14:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-06 12:27 Anton Mikanovich
2026-02-06 12:27 ` [PATCH v5 1/3] meta: Fix do_copy_boot_files error for different distros of same machine Anton Mikanovich
2026-02-06 12:27 ` [PATCH v5 2/3] testsuite: Add test to check dtb deployment Anton Mikanovich
2026-02-06 12:27 ` [PATCH v5 3/3] meta: Move DTB deployment to a separate dtb-files recipe Anton Mikanovich
2026-02-06 13:39 ` 'Jan Kiszka' via isar-users
2026-02-11 11:12 ` Baurzhan Ismagulov
2026-02-12 6:49 ` 'Jan Kiszka' via isar-users
2026-02-09 14:31 ` Zhihang Wei [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=73a7e61b-150e-485f-93a1-ec752d83035e@ilbers.de \
--to=wzh@ilbers.de \
--cc=amikan@ilbers.de \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox