From: "'Jan Kiszka' via isar-users" <isar-users@googlegroups.com>
To: Zhihang Wei <wzh@ilbers.de>,
Quirin Gylstorff <quirin.gylstorff@siemens.com>,
isar-users@googlegroups.com,
Felix Moessbauer <felix.moessbauer@siemens.com>,
Baurzhan Ismagulov <ibr@ilbers.de>
Subject: Re: [PATCH v9 0/3] Deploy DTBs and other image artifacts into subdirs to avoid conflicts
Date: Thu, 9 Apr 2026 18:38:24 +0200 [thread overview]
Message-ID: <f5026115-5c19-4535-8832-5dbc7f5b1a65@siemens.com> (raw)
In-Reply-To: <6a128eca-1346-4774-a1c0-139cae457956@ilbers.de>
On 09.04.26 17:35, Zhihang Wei wrote:
>
> On 4/8/26 15:10, Jan Kiszka wrote:
>> On 07.04.26 16:29, Quirin Gylstorff wrote:
>>> Hi,
>>>
>>> On 4/1/26 12:49 PM, Zhihang Wei wrote:
>>>> Image task "do_copy_boot_files" deploys kernel, initrd, and device tree
>>>> binaries to the deploy directory.
>>>>
>>>> When different images for the same target (e.g., "-base" and "-debug")
>>>> are built in parallel, DTB deployment may fail because DTBs do not
>>>> contain image-specific components in their filenames, unlike the kernel
>>>> and initrd. As a result, artifacts from different builds may be written
>>>> to the same location.
>>>>
>>>> Here we deploy the DTBs and other image artifacts to subdirectories,
>>>> with names of distro image encoded to the path.
>>>>
>>>> Note that this results in separate copies of the same artifacts being
>>>> deployed for each image build.
>>>>
>>> This breaks isar-cip-core with release 1.0 with the unified kernel build
>>> as a custom initrd is no longer part of the same directory structure as
>>> the rest of the image. As the custom initramfs is a separate package it
>>> cannot aquire the PN of the rootfs. See https://github.com/ilbers/isar/
>>> blob/6504321e85b5fdc3bb5a83f042b77cb39cd11a6f/meta/classes-recipe/
>>> imagetypes_wic.bbclass#L215.
>>>
>>> Also merge_wic_sbom does no longer work with a custom initrd.
>>>
>> The RECIPE-API-CHANGLOG says:
>>
>>> Artifacts that do not belong to a full image (e.g. isar-image-base,
>>> isar-image-ci) remain unchanged. For example, a customized initramfs
>>> built independently is not affected.
>> And this is the problem: Customized initramfs logically belonged to full
>> images, and so it was possible to address them DEPLOY_DIR_IMAGE. Now
>> they are "somewhere" - namely under the OE-standard DEPLOY_DIR_IMAGE,
>> but there also with the traditional image file naming, flat.
> "remain unchanged" here means the customized initramfs keep the same
> filenames and paths as before.
>
> Customized initramfs are built by their own recipes. While building a
> full image may trigger the build of a customized initramfs, they can
> also be built separately. In contrast, the default initramfs is not a
> standalone recipe but a task within the image build process. So
> technically, customized initramfs are independent artifacts.
>
> If CIP core associates a specific customized initramfs with an image
> via DEPLOY_DIR_IMAGE, this assumption is affected by the new layout and
> needs to be adapted accordingly.
The problem is that Isar upstream lacks a realistic use case for
customized initramfs. One would be to embed it into a rootfs, as
replacement of the default one. Quirin had the idea of packaging it for
that. Another would be feeding it into the UKI generation of
bootimg-efi-isar but that has unfortunately not yet been enabled for Isar.
>> Quirin tried some isar-cip-core conversion, and this is the new
>> deployment reality:
>>
>> build/tmp/deploy/images/qemu-amd64/
>> ├── cip-core-initramfs-cip-core-trixie-qemu-amd64.cdx.json
>> ├── cip-core-initramfs-cip-core-trixie-qemu-amd64-initrd.img
>> ├── cip-core-initramfs-cip-core-trixie-qemu-amd64.manifest
>> ├── cip-core-initramfs-cip-core-trixie-qemu-amd64.spdx.json
>> └── cip-core-trixie-cip-core-image
>> ├── bootx64.efi
>> ├── linux.efi
>> ├── OVMF
>> │ ├── OVMF_CODE_4M.fd
>> │ ├── OVMF_CODE_4M.ms.fd
>> │ ├── OVMF_CODE_4M.secboot.fd
>> │ ├── OVMF_CODE_4M.secboot.strictnx.fd
>> │ ├── OVMF_CODE_4M.snakeoil.fd
>> │ ├── OVMF_VARS_4M.fd
>> │ ├── OVMF_VARS_4M.ms.fd
>> │ └── OVMF_VARS_4M.snakeoil.fd
>> ├── qemu-amd64.cdx.json
>> ├── qemu-amd64.dpkg_status
>> ├── qemu-amd64-ebg.swu
>> ├── qemu-amd64.manifest
>> ├── qemu-amd64.spdx.json
>> ├── qemu-amd64.squashfs
>> ├── qemu-amd64.swu
>> ├── qemu-amd64.uuid.env
>> ├── qemu-amd64.wic
>> ├── qemu-amd64.wic.bmap
>> ├── qemu-amd64.wic.cdx.json
>> ├── qemu-amd64.wic.manifest
>> ├── qemu-amd64.wic.spdx.json
>> └── vmlinuz
>>
>> Already visually, this screams for improvements. But I'm afraid there
>> are more concrete issues hidden in even more complex layers.
>>
>> And this is exactly why I strongly recommended to NOT merge these
>> changes in a hurry before the release anymore. We already needed 9
>> versions, and we were still not fully confident about the stability of
>> the new solution.
> If this kind of issue should be detected before merging, a CIP core
> test case needs to be added to CI.
Unfortunately, this will need a process, not just a pipeline step
because breaking changes will need at least temporary patches to that layer.
Jan
--
Siemens AG, Foundational Technologies
Linux Expert Center
--
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/f5026115-5c19-4535-8832-5dbc7f5b1a65%40siemens.com.
next prev parent reply other threads:[~2026-04-09 16:38 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-01 10:49 Zhihang Wei
2026-04-01 10:49 ` [PATCH v9 1/3] wic: Obtain real machine name in isoimage source plugin Zhihang Wei
2026-04-01 10:49 ` [PATCH v9 2/3] testsuite: Add testcases to check dtb deployment Zhihang Wei
2026-04-01 10:49 ` [PATCH v9 3/3] meta: Deploy image build artifacts into distro- and image-specific subdirs Zhihang Wei
2026-04-02 16:04 ` [PATCH v9 0/3] Deploy DTBs and other image artifacts into subdirs to avoid conflicts Zhihang Wei
2026-04-07 14:29 ` 'Quirin Gylstorff' via isar-users
2026-04-08 13:10 ` 'Jan Kiszka' via isar-users
2026-04-08 13:20 ` 'Quirin Gylstorff' via isar-users
2026-04-08 13:27 ` 'Jan Kiszka' via isar-users
2026-04-08 13:30 ` 'Quirin Gylstorff' via isar-users
2026-04-09 15:35 ` Zhihang Wei
2026-04-09 16:38 ` 'Jan Kiszka' via isar-users [this message]
2026-04-09 17:09 ` Roberto A. Foglietta
2026-04-11 8:47 ` Roberto A. Foglietta
2026-04-10 8:28 ` 'MOESSBAUER, Felix' via isar-users
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=f5026115-5c19-4535-8832-5dbc7f5b1a65@siemens.com \
--to=isar-users@googlegroups.com \
--cc=felix.moessbauer@siemens.com \
--cc=ibr@ilbers.de \
--cc=jan.kiszka@siemens.com \
--cc=quirin.gylstorff@siemens.com \
--cc=wzh@ilbers.de \
/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