I'm trying to configure a custom Yocto build for a embedded system.
I need to add packages to both the target fs and the tool chain.
Currently I'm only trying to add packages that already has a recipe.
For example by adding IMAGE_INSTALL += " boost-dev"
and TOOLCHAIN_TARGET_TASK += "boost-dev"
I can add boost to both targetfs and tool chain.
What I want to do
The rootfs built by the Yocto is very complete and has a lot of libraries, but the tool chain only has the most basic ones.
I want to add the missing libraries to the tool chain.
Question:
How do I find the names of available libraries?
Like boost-dev
, I did a lot of googling to find out by adding the name boost-dev
to TOOLCHAIN_TARGET_TASK
I can get what I want.
But things like OpenGL and OpenCL, even though I know they are provided by /meta-fsl-arm/recipes-graphics/imx-gpu-viv
in my case, how shall I find out what package name shall I add to TOOLCHAIN_TARGET_TASK
?
I did more googling and found the way to get package names used by a bitbake target by looking at dependencies.
By doing bitbake -g <packagename> -u depexp
, the dependency among packages are shown, so are the name of all packages involved in the Yocto build.
For example, devil
package depends on devil-dev
, hence doing TOOLCHAIN_TARGET_TASK += "devil-dev"
in meta-toolchain%.bbappend
adds devil to the tool chain.
The package names found this way may not be complete, specifically some child-packages included in a parent-package may not be shown here.
When this happens, first locate the parent-package that is likely to contain the child-package, then find the .bb
file and .inc
file for it.
In those files there's likely a PACKAGES
variable that tells what child-package are provided by this package. Those child-package can then be added to TOOLCHAIN_TARGET_TASK
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With