Reputation: 121
I'm fairly new to Yocto, so I'm sorry if this question is obvious. I am trying to build an image for i.MX6 with OpenCL support to use the GPU. I have the gpu driver recipe (imx-gpu-viv) in my image recipe, and I can see that it compiles successfully. However, my final image does not have some libraries, like libOpenCL.so . I can see that they exist as .rpm packages in tmp/deploy/rpm, and I have tried adding them to my system using rpm command in the device. However, they have additional dependencies and I don't want to hunt every package that these depend and their dependencies, etc. Furthermore, I would like to have these packages installed in future images, and not spend time installing them again and again.
Is there any way to include the packages that are stored as .rpm files in the sdcard image that bitbake creates?
Edit: To clarify my question, I know that I can add recipes to my image by using IMAGE_INSTALL_append in local.conf . This particular image does not need that to include the recipe "imx-gpu-viv" as it is added in the image file in the source.
Upvotes: 2
Views: 1487
Reputation: 121
I've managed to solve my issue after I realized recipes and packages are quite separate things, more info on here.
imx-gpu-viv recipe did compile libOpenCL.so, in a package libOpenCL-imx. However, my image hadn't included any recipe that RDEPEND'ed on the package libOpenCL-imx, so it wasn't included in the rootfs. I created a new packagegroup recipe that has RDEPENDS_* commands to the libraries I want (such as RDEPENDS_${PN} += " libopencl-imx "
), and the requested libraries were included in my rootfs after I added the new packagegroup to my image recipe and rebuilt my image.
Upvotes: 1