[yocto] Extending images

Gary Thomas gary at mlbassoc.com
Fri Jul 18 09:54:55 PDT 2014


On 2014-07-18 10:49, Christopher Larson wrote:
>
> On Fri, Jul 18, 2014 at 9:26 AM, Gary Thomas <gary at mlbassoc.com <mailto:gary at mlbassoc.com>> wrote:
>
>     've always used 'IMAGE_INSTALL += " xyz"' in my local.conf
>     to add new packages to a build.  That said, I had a working
>     build for qemuarm (probably doesn't matter) and I added:
>        IMAGE_INSTALL += " strace"
>     This produced a completely broken image which barely came
>     up to a shell, lots of missing programs, etc.
>
>     I then tried
>        CORE_IMAGE_EXTRA_INSTALL += " strace"
>     which produced a perfectly working build (just as previous)
>     with the new package added.
>
>     I can see that the images produced are vastly different:
>
>     * Original working build
>     -rw-r--r-- 1 gthomas gthomas     11719 Jul 18 09:34 core-image-sato-qemuarm-__20140718124453.rootfs.manifest
>     -rw-r--r-- 1 gthomas gthomas  87611203 Jul 18 09:34 core-image-sato-qemuarm-__20140718124453.rootfs.tar.bz2
>
>     * After 'IMAGE_INSTALL += '
>     -rw-r--r-- 1 gthomas gthomas      9986 Jul 18 09:55 core-image-sato-qemuarm-__20140718155134.rootfs.manifest
>     -rw-r--r-- 1 gthomas gthomas  37859884 Jul 18 09:56 core-image-sato-qemuarm-__20140718155134.rootfs.tar.bz2
>
>     * After 'CORE_IMAGE_EXTRA_INSTALL += '
>     -rw-r--r-- 1 gthomas gthomas     11738 Jul 18 10:05 core-image-sato-qemuarm-__20140718160108.rootfs.manifest
>     -rw-r--r-- 1 gthomas gthomas  87720106 Jul 18 10:05 core-image-sato-qemuarm-__20140718160108.rootfs.tar.bz2
>
>     What's the difference and why did the first attempt fail?
>
>
> Most likely the image defined its own IMAGE_INSTALL using ?=, so defining it yourself in the configuration data overrode its default definition, since ?= is "set only if unset". If
> the recipe didn't use ?=, then your IMAGE_INSTALL += would have had no effect at all. To append to IMAGE_INSTALL directly without using CORE_IMAGE_EXTRA_INSTALL you could have used
> IMAGE_INSTALL_append, since that's a postponed operation that happens at the end of the recipe parsing.

That makes sense, thanks.  I'll stick to using CORE_IMAGE_EXTRA_INSTALL
from now on!

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the yocto mailing list