[yocto] Removing rootfs from SDK

John Ernberg john.ernberg at actia.se
Sun Jun 14 22:39:24 PDT 2015


Hi Paul

I managed to clear out everything set by IMAGE_INSTALL and 
IMAGE_FEATURES by setting PACKAGE_INSTALL = "".
So we no longer package the kernel etc into our SDK.
We do however still package the busybox binaries, when I run:
bitbake -e -c populate_sdk [image] | less
and then search for busybox, I get no results, so according to the 
variables nothing adds busybox to the SDK.
I cannot figure out why busybox would get included, and I don't mean the 
dev and dbg packages here, but the actual binary package.

For this project we're not able to update to dizzy or later at this 
time, we're currently on 1.6.1.
So the PACKAGE_EXCLUDE_COMPLEMENTARY variable is not available to us.

Best regards // John Ernberg

On 2015-06-12 14:43, Paul Eggleton wrote:
> Hi John,
>
> On Thursday 04 June 2015 09:30:49 John Ernberg wrote:
>> We're trying to optimize the SDK generated by bitbake -c populate_sdk.
>> Currently we're trying to remove the kernel, modules and other
>> executables which we have no use for, most of it could be removed using
>> IMAGE_INSTALL = "" and IMAGE_FEATURES = "".
>>
>> Due to us using 2 different kernel module sets, we're using
>> IMAGE_INSTALL_append_[machine] additions to IMAGE_INSTALL which are not
>> cleared by the IMAGE_INSTALL = "" setting.
>>
>> I've tried to do IMAGE_INSTALL_remove using the same variable that we
>> use to populate the IMAGE_INSTALL_append, but that doesn't work. I can
>> however remove each individual package added by IMAGE_INSTALL_append.
>> Due to the number of packages added by IMAGE_INSTALL_append this is not
>> really feasible.
>>
>> Is there a way to clear IMAGE_INSTALL_append without doing an
>> IMAGE_INSTALL_remove per package? Alternatively clearing it using a
>> python loop without needing to know the name of each package.
>>
>> We're also seeing busybox getting included into the SDK without anything
>> showing a dependency on it from running bitbake -g -c populate_sdk.
>>
>> What could be going on with that?
> We construct the SDK for an image by getting a list of the packages in the
> image, and then including the -dev and -dbg packages that correspond to those
> in the host portion of the SDK. Thus if your image has busybox in it then you
> will get busybox-dev and busybox-dbg in your SDK.
>
> In the dizzy (1.7) and later releases, there is a
> PACKAGE_EXCLUDE_COMPLEMENTARY variable that can take a regex to match packages
> that you do not wish to install complementary packages for. You could set this
> in your image recipe. Note that this will affect all complementary package
> processing for the image as well as the SDK (e.g. dev-pkgs in IMAGE_FEATURES
> will also be affected, if you used that).
>
> Cheers,
> Paul
>



More information about the yocto mailing list