From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: Brian Karcz <briank@russound.com>
Cc: yocto@yoctoproject.org
Subject: Re: Image recipes in Yocto 1.4 (dylan-9.0.0)
Date: Thu, 01 Aug 2013 15:27:17 +0100 [thread overview]
Message-ID: <2224533.7EszYEDFKv@helios> (raw)
In-Reply-To: <5b0db42f24db43c9a5ac1348d1dee721@HERMES.RUSSOUND.com>
On Thursday 01 August 2013 14:00:24 Brian Karcz wrote:
> I'll keep the do_rootfs dependency adjustment for the main image on ready.
> I'd like to try to fix the simple case first of only building the ramdisk
> image directly then trying to rebuild it. With the latter case fixed, the
> former might be fine as is.
>
> As a sanity check last night, I blew away the entire build directory and
> only built the ramdisk image recipe. I wanted to make sure there was
> nothing left in there from a main image build that might be effecting an
> explicit ramdisk image build. This overnight build succeeded. When I
> performed the rebuild this morning, the same behavior occurred of the
> IMAGE_PREPROCESS_COMMAND not being able to find a file in the WORKDIR.
>
> Sorry for the confusion about the license data. I wasn't interested,
> necessarily, in the content or cause of the warning, but more the task flow
> of the build that was causing the warning to appear in one build and not
> the other. I wasn't sure if the do_populate_lic dependency change might
> trigger any thoughts on the do_fetch dependencies.
>
> One thing I had a question about was in regards to image vs package recipes
> and the population of the rootfs. Package recipes populate the rootfs by
> appending/prepending the do_install task and install things from the
> WORKDIR to the $D destination directory.
To be completely accurate, they don't populate the rootfs directly, they
install files into the ${D} directory (${WORKDIR}/image) during do_install,
then do_package creates package definitions from this, then do_package_write_*
create the actual packages based upon the definitions, and then later when the
image is constructed some subset of those packages may be installed into the
rootfs.
> Our image recipes, as I've inherited them, create and assign a new
> IMAGE_PREPROCESS_COMMAND, that install files from the WORKDIR to the
> IMAGE_ROOTFS destination directory. Is it abnormal/non-standard for an image
> recipe to have its own SRC_URI entries and subsequent WORKDIR population?
It is considered so, yes. We disabled this functionality by default in the
denzil release (1.2) on the assumption that image recipes shouldn't really be
doing this - additional files that need to be pulled in should be pulled in via
packages created by a separate recipe. It's perfectly fine for the image to be
modifying or creating small files from scratch particularly if they're
constructed from dynamic data, but bringing in extra static files should really
be handled via additional packages.
> I'm wondering if there is a catch-22 going on here regarding the use of
> RM_WORK and the fact that the checksums for the SRC_URI contents haven't
> changed. It seems as though the build is determining that do_fetch doesn't
> need to be run because nothing is changed, like in a package recipe, but
> doesn't realize that do_rootfs will always be executed for an image recipe
> build and might depend on those contents. I'm wondering if this worked
> under Edison because it didn't have the SRC_URI checksums and a different
> dependency model that forced the do_fetch prior to do_rootfs for image
> recipe builds.
Could you run a test for me - if you comment out the setting of noexec on all
of the tasks at the end image.bbclass does the rebuilding problem go away?
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
next prev parent reply other threads:[~2013-08-01 14:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-24 15:01 Image recipes in Yocto 1.4 (dylan-9.0.0) Brian Karcz
2013-06-24 15:40 ` Paul Eggleton
[not found] ` <7941E07E1E020448937ACA7D4279E632018398AF5AC0@powerhog>
2013-07-16 17:29 ` Paul Eggleton
2013-07-31 20:27 ` Brian Karcz
2013-08-01 8:25 ` Paul Eggleton
2013-08-01 14:00 ` Brian Karcz
2013-08-01 14:27 ` Paul Eggleton [this message]
2013-08-01 16:09 ` Brian Karcz
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=2224533.7EszYEDFKv@helios \
--to=paul.eggleton@linux.intel.com \
--cc=briank@russound.com \
--cc=yocto@yoctoproject.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.