[yocto] Extending images

Robert P. J. Day rpjday at crashcourse.ca
Fri Jul 18 09:48:33 PDT 2014


On Fri, 18 Jul 2014, Gary Thomas wrote:

> I'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?

  i'm going to guess this is related to my recent whining about how
weirdly core-image-* recipes are defined.  if i use the "bb" command
to see what will be installed on a qemuarm in a core-image-sato image,
i see:

$ bb show IMAGE_INSTALL -r core-image-sato
Parsing recipes..done.
# IMAGE_INSTALL=${CORE_IMAGE_BASE_INSTALL} packagegroup-core-x11-sato-games
IMAGE_INSTALL="packagegroup-core-boot packagegroup-base-extended \
  packagegroup-core-x11-sato-games"
$

  which looks good. but the instant i add the line:

IMAGE_INSTALL += "strace" to my local.conf ... whoops:

$ bb show IMAGE_INSTALL -r core-image-sato
Parsing recipes..done.
IMAGE_INSTALL=" strace packagegroup-core-x11-sato-games"
$

  note the loss of the essential core-boot and base-extended
packagegroups, which is why your image is broken, which is because of
the way IMAGE_INSTALL is assigned in core-image.bbclass.

  lesson: do not mess with IMAGE_INSTALL directly unless you truly
know what you're doing.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================





More information about the yocto mailing list