[OE-core] [Openembedded-architecture] Incorporating deploy artefacts from one multiconfig in another multiconfig
richard.purdie at linuxfoundation.org
Thu Feb 21 23:51:14 UTC 2019
Multiconfig is meant to support this workflow. Unfortunately there are
open bugs and people haven't the time to work on it so its stalled.
That said, the key pieces are already there.
A picture is worth a thousand words. I thought a demo might interest
people and "prove" this can work.
To make it work you need four patches:
The first two are fixes from Alejandro which haven't merged as they're
not right. The third patch was me hitting the fixes and bitbake to make
the demo work. That proves they're not right and hints at where we have
some problems in bitbake too. We can get those issues sorted fairly
easily and I'm going to block 2.7 M3 on them.
The final patch is the interesting one.
It adds a layer, meta-multiconfig-example layer with a README about how
to configure it. Basically you create two multiconfig configurations,
"musl" and "tiny".
The demo is to run "bitbake core-image-full-cmdline".
The result is a core-image-full-cmdline image with a tiny qemux86 image
and a musl based qemux86-64 image installed into /var/lib/machines/
The way it does this is creative, having a recipe called image-packer
which creates virtclass variants of itself which depend on the
appropriate multiconfig. It pulls in the images and creates a package
containing them which the bbappend to core-image-full-cmdline can then
install. It'd be very easy to turn this into a list driven piece of
code rather than the two values currently listed.
Its late here, some of the above code is horrible. I have rushed this
but hopefully it shows this is possible! :)
I've love to turn this into an oe-selftest, that is my ultimate
intention for this code.
As things stand today you can't query one multiconfig from another. As
this demo shows, that doesn't need to stop you making interesting
things though. We will do something with such querying eventually to
make things easier but until then, much is still possible.
More information about the Openembedded-core