From: "'Jan Kiszka' via isar-users" <isar-users@googlegroups.com>
To: Cedric Hombourger <cedric.hombourger@siemens.com>,
isar-users@googlegroups.com, Zhihang Wei <wzh@ilbers.de>
Subject: Re: [PATCH 0/1] image: introduce IMAGE_INITRD, deprecate INITRD_IMAGE
Date: Sat, 29 Nov 2025 16:00:51 +0100 [thread overview]
Message-ID: <2d3a9e5a-16d4-4bbe-a32e-541e8c16c06f@siemens.com> (raw)
In-Reply-To: <d2b7c112-229d-42f3-a172-2ea3a39b2148@siemens.com>
On 29.11.25 15:37, Jan Kiszka wrote:
> On 02.11.25 20:01, 'Cedric Hombourger' via isar-users wrote:
>> INITRD_IMAGE could be set to the full name of an initrd image to be
>> found in DEPLOY_DIR_IMAGE. Downstream layers had to assume how Isar
>> names its image artifacts (${DISTRO}-${IMAGE}-initrd.img suffix for
>> initrd images) and insert the build of their initramfs recipe into
>> the image build pipeline.
>>
>> IMAGE_INITRD is introduced to (1) have a constistent naming convention
>> for variables consumed by the image class (IMAGE_ prefix) (2) only
>> require this variable to be set when a custom initrd should be built
>> and used by the imager.
>>
>> For instance, cip-core was doing the following:
>>
>> INITRAMFS_RECIPE ?= "cip-core-initramfs"
>> INITRD_IMAGE = "${INITRAMFS_RECIPE}-${DISTRO}-${MACHINE}.initrd.img"
>> do_image_wic[depends] += "${INITRAMFS_RECIPE}:do_build"
>
> This last line is still needed. Your patch cannot address the specific
> dependency needs of downstream.
>
>>
>> And it could now be changed to:
>>
>> IMAGE_INITRD ?= "cip-core-initramfs"
>
> This won't work: cip-core allows to override its own default, but isar
> already defines one. We could make the initialization in isar
> extra-weak, but that would only push to problem to a potential platform
> layer that sits on top of isar-cip-core.
>
> IOW:
>
> -INITRD_IMAGE = "${INITRAMFS_RECIPE}-${DISTRO}-${MACHINE}.initrd.img"
> +IMAGE_INITRD = "${INITRAMFS_RECIPE}"
>
> That's all what will happen downstream.
>
>>
>> (their layer would likely keep their INITRAMFS_RECIPE variable as it
>> may be considered as an API towards its own downstream users).
>>
>> INITRD_IMAGE is "only" deprecated; meaning that it may still be used
>> (but build-time warnings will be raised). If both IMAGE_INITRD and
>> INITRD_IMAGE are set then the latter will be ignored (a warning noting
>> that both were set will be emitted).
>>
>> These changes were tested against (1) new CI test-cases and (2) CIP
>> Core 1.9.0 both with and without adaptions to its code.
>>
>> Patch dependencies:
>> [1] https://lists.isar-build.org/isar-users/20251101111326.600581-1-cedric.hombourger@siemens.com/T/#t
>> [2] https://lists.isar-build.org/isar-users/20251030094451.1303871-1-Quirin.Gylstorff@siemens.com/T/#t
>>
>> InitRd tests:
>>
>> builder@ed1e0b7e8d4e:/work/testsuite$ trun --max-parallel-tasks=1 -p sstate=1 -t initrd citest.py
>> JOB ID : bdf8f7130f426014b0c008d0095ad317a9f66bee
>> JOB LOG : /tmp/tmp72bozbdi/avocado/job-results/job-2025-11-02T18.30-bdf8f71/job.log
>> (1/8) citest.py:InitRdTest.test_dracut_in_image: STARTED
>> (1/8) citest.py:InitRdTest.test_dracut_in_image: PASS (104.93 s)
>> (2/8) citest.py:InitRdTest.test_dracut_build_initrd: STARTED
>> (2/8) citest.py:InitRdTest.test_dracut_build_initrd: PASS (34.36 s)
>> (3/8) citest.py:InitRdTest.test_dracut_build_failure: STARTED
>> (3/8) citest.py:InitRdTest.test_dracut_build_failure: FAIL: Bitbake suceeded but was expected to fail! (143.54 s)
>> (4/8) citest.py:InitRdTest.test_var_initrd_image: STARTED
>> (4/8) citest.py:InitRdTest.test_var_initrd_image: PASS (259.88 s)
>> (5/8) citest.py:InitRdTest.test_var_image_initrd: STARTED
>> (5/8) citest.py:InitRdTest.test_var_image_initrd: PASS (237.34 s)
>> (6/8) citest.py:InitRdTest.test_var_image_initrd_and_initrd_image: STARTED
>> (6/8) citest.py:InitRdTest.test_var_image_initrd_and_initrd_image: PASS (242.03 s)
>> (7/8) citest.py:InitRdCrossTests.test_dracut_in_image: STARTED
>> (7/8) citest.py:InitRdCrossTests.test_dracut_in_image: PASS (407.83 s)
>> (8/8) citest.py:InitRdCrossTests.test_dracut_build_initrd: STARTED
>> (8/8) citest.py:InitRdCrossTests.test_dracut_build_initrd: PASS (44.71 s)
>> RESULTS : PASS 7 | ERROR 0 | FAIL 1 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
>> JOB TIME : 1482.17 s
>>
>> See [1] and/or [2] for an explanation (and proposed fix) for the single
>> test failure.
>>
>> Cedric Hombourger (1):
>> image: introduce IMAGE_INITRD, deprecate INITRD_IMAGE
>>
>> RECIPE-API-CHANGELOG.md | 28 +++++++++++++
>> doc/user_manual.md | 3 +-
>> meta/classes/image.bbclass | 31 ++++++++++++--
>> testsuite/citest.py | 83 ++++++++++++++++++++++++++++++++++++++
>> 4 files changed, 140 insertions(+), 5 deletions(-)
>>
>
> This patch had an ugly bug: rootfs still generated an initramfs even if
> a custom one was provided. That was not found by our beloved tests in
> isar (missing boot test or missing check if custom hooks were run), only
> by actually porting isar-cip-core over. That makes me wonder if the
> patch was validated against isar-cip-core before proposing it.
>
> Also the user manual was not updated correctly.
>
> Fixes will follow.
>
And it had another issue: INITRD_DEPLOY_FILE in
meta/classes/image.bbclass, as also picked by wic plugins, was no longer
in sync with INITRD_DEPLOY_FILE from initramfs.bbclass as used for
actually deploying such things. That name change was also not
documented, which makes we wonder if it was intentional. I will revert
that. If we want to name things different, we need to make that explicit.
And finally (hopefully) I noticed that the wrong example from
isar-cip-core is in the RECIPE-API-CHANGELOG.md now. We need to fix that
as well so that people are not dropping still needed dependencies (like
I did first).
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/2d3a9e5a-16d4-4bbe-a32e-541e8c16c06f%40siemens.com.
prev parent reply other threads:[~2025-11-29 15:01 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-02 19:01 'Cedric Hombourger' via isar-users
2025-11-02 19:01 ` [PATCH 1/1] " 'Cedric Hombourger' via isar-users
2025-11-12 16:41 ` [PATCH 0/1] " Zhihang Wei
2025-11-21 17:07 ` Zhihang Wei
2025-11-19 15:05 ` Zhihang Wei
2025-11-29 14:37 ` 'Jan Kiszka' via isar-users
2025-11-29 15:00 ` 'Jan Kiszka' via isar-users [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=2d3a9e5a-16d4-4bbe-a32e-541e8c16c06f@siemens.com \
--to=isar-users@googlegroups.com \
--cc=cedric.hombourger@siemens.com \
--cc=jan.kiszka@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