public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
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 15:37:46 +0100	[thread overview]
Message-ID: <d2b7c112-229d-42f3-a172-2ea3a39b2148@siemens.com> (raw)
In-Reply-To: <20251102190129.727186-1-cedric.hombourger@siemens.com>

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.

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/d2b7c112-229d-42f3-a172-2ea3a39b2148%40siemens.com.

  parent reply	other threads:[~2025-11-29 14:38 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 [this message]
2025-11-29 15:00   ` 'Jan Kiszka' 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=d2b7c112-229d-42f3-a172-2ea3a39b2148@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