[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