From: Mauro Salvini <m.salvini@koansoftware.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] wic builds an empty rootfs on second image build with rm_work enabled
Date: Mon, 18 Nov 2024 15:49:01 +0100 [thread overview]
Message-ID: <3c967bf5-9856-4a91-874a-5e40b4b4e7cd@koansoftware.com> (raw)
In-Reply-To: <ZztNMmHa7s21MJXI@nuoska>
On 18/11/24 15:20, Mikko Rapeli via lists.openembedded.org wrote:
> Hi,
>
> On Tue, Nov 05, 2024 at 03:53:49PM +0000, Richard Purdie wrote:
>> On Mon, 2024-11-04 at 17:10 +0200, Mikko Rapeli via lists.openembedded.org wrote:
>>> Hi,
>>>
>>> After image build completes, rootfs directory is wiped by rm_work_rootfs.
>>>
>>> If the image recipe is built again without clean, for example when
>>> TESTIMAGE_AUTO is enabled to run tests, then rootfs task will not
>>> run and thus wic uses an empty rootfs directory to populate the rootfs which
>>> of course then fails at runtime.
>>>
>>> How to fix this?
>>>
>>> I know RP doesn't like rm_work, but I really need it. I can't leave all
>>> builds laying around and bitbake IPC setup fails if a lot of IO is wiping
>>> build/tpm's while recipe parsing is happening (the famous 30 second timeout).
>>>
>>> wic image related tasks could possible depend on do_rootfs instead of
>>> do_image_complete but seems to break the whole do_image_complete design.
>>>
>>> Should rm_work_rootfs be moved from after do_image_complete to after do_image_wic
>>> if wic images are used?
>>>
>>> Or should users just remember to "bitbake -c clean image && bitbake image" if things
>>> fail?
>>>
>>> There are some other issues with testimage.bbclass and leaking cooker processes
>>> which confused me for a long time but I'll try to send patches for those.
>>
>> Does changing:
>>
>> image_types_wic.bbclass:
>> bb.build.addtask('do_image_wic', 'do_image_complete', None, d)
>> to
>> bb.build.addtask('do_image_wic', 'do_image_complete', 'do_rootfs', d)
>>
>> help?
>
> This did not help. I need to dig deeper. Some of my changes may be
> triggering this. I'm seeing this now on aarch64 and x86_64 build machines.
>
> Cheers,
>
> -Mikko
>
Hi Mikko,
my two cents: do you have the rm_work enabled? I've seen something
similar in the past, but with initramfs (the generated cpio.gz file
sometimes was empty). It seemed that adding and then removing a change
to the image triggered the problem, as if an older but "corrupted"
sstate has been used.
I've not found the time to dig into that, but I supposed that rm_work
could be the culprit.
Hope it could help and not add more confusion.
Cheers
--
Mauro
next prev parent reply other threads:[~2024-11-18 14:49 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-04 15:10 wic builds an empty rootfs on second image build with rm_work enabled Mikko Rapeli
2024-11-05 15:53 ` [OE-core] " Richard Purdie
2024-11-18 14:20 ` Mikko Rapeli
2024-11-18 14:49 ` Mauro Salvini [this message]
2024-11-18 14:55 ` Mikko Rapeli
[not found] ` <180917DC7939F09D.10466@lists.openembedded.org>
2024-11-19 13:33 ` Mikko Rapeli
[not found] ` <180961F040C68F13.21229@lists.openembedded.org>
2024-11-20 8:40 ` Mikko Rapeli
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=3c967bf5-9856-4a91-874a-5e40b4b4e7cd@koansoftware.com \
--to=m.salvini@koansoftware.com \
--cc=openembedded-core@lists.openembedded.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.