将 /deploy/rpm 中的库包含到 Yocto 图像中
Include libraries in /deploy/rpm to the Yocto image
我对 Yocto 还很陌生,如果这个问题很明显,我很抱歉。我正在尝试为支持 OpenCL 的 i.MX6 构建图像以使用 GPU。我的图像配方中有 gpu 驱动程序配方 (imx-gpu-viv),我可以看到它编译成功。但是,我的最终图像没有一些库,例如 libOpenCL.so 。我可以看到它们作为 .rpm 包存在于 tmp/deploy/rpm 中,并且我尝试在设备中使用 rpm 命令将它们添加到我的系统中。但是,它们有额外的依赖关系,我不想寻找这些依赖的每个包及其依赖关系等。此外,我希望在未来的图像中安装这些包,而不是花时间一次又一次地安装它们。
有什么方法可以将存储为 .rpm 文件的包包含在 bitbake 创建的 sdcard 映像中吗?
编辑:为了澄清我的问题,我知道我可以通过在 local.conf 中使用 IMAGE_INSTALL_append 将食谱添加到我的图像中。此特定图像不需要包含配方 "imx-gpu-viv",因为它已添加到源图像文件中。
在我意识到食谱和包装是完全不同的东西后,我设法解决了我的问题,有关 here 的更多信息。
imx-gpu-viv 配方在 libOpenCL-imx 包中编译 libOpenCL.so。然而,我的图像没有包含任何在 libOpenCL-imx 包上 RDEPEND 的配方,所以它没有包含在 rootfs 中。我创建了一个新的包组配方,其中包含针对我想要的库(例如 RDEPENDS_${PN} += " libopencl-imx "
)的 RDEPENDS_* 命令,并且在我将新的包组添加到我的图像配方并重建我的图像后,请求的库包含在我的 rootfs 中。
我对 Yocto 还很陌生,如果这个问题很明显,我很抱歉。我正在尝试为支持 OpenCL 的 i.MX6 构建图像以使用 GPU。我的图像配方中有 gpu 驱动程序配方 (imx-gpu-viv),我可以看到它编译成功。但是,我的最终图像没有一些库,例如 libOpenCL.so 。我可以看到它们作为 .rpm 包存在于 tmp/deploy/rpm 中,并且我尝试在设备中使用 rpm 命令将它们添加到我的系统中。但是,它们有额外的依赖关系,我不想寻找这些依赖的每个包及其依赖关系等。此外,我希望在未来的图像中安装这些包,而不是花时间一次又一次地安装它们。
有什么方法可以将存储为 .rpm 文件的包包含在 bitbake 创建的 sdcard 映像中吗?
编辑:为了澄清我的问题,我知道我可以通过在 local.conf 中使用 IMAGE_INSTALL_append 将食谱添加到我的图像中。此特定图像不需要包含配方 "imx-gpu-viv",因为它已添加到源图像文件中。
在我意识到食谱和包装是完全不同的东西后,我设法解决了我的问题,有关 here 的更多信息。
imx-gpu-viv 配方在 libOpenCL-imx 包中编译 libOpenCL.so。然而,我的图像没有包含任何在 libOpenCL-imx 包上 RDEPEND 的配方,所以它没有包含在 rootfs 中。我创建了一个新的包组配方,其中包含针对我想要的库(例如 RDEPENDS_${PN} += " libopencl-imx "
)的 RDEPENDS_* 命令,并且在我将新的包组添加到我的图像配方并重建我的图像后,请求的库包含在我的 rootfs 中。