我正在尝试为嵌入式系统配置自定义的Yocto构建。
我需要将软件包添加到目标fs和工具链。
目前,我只想添加已经有配方的软件包。
例如,通过添加IMAGE_INSTALL += " boost-dev"
和,TOOLCHAIN_TARGET_TASK += "boost-dev"
我可以为targetfs和工具链都添加增强功能。
我想做的事
Yocto构建的rootfs非常完整,具有很多库,但是工具链只有最基本的库。
我想将缺少的库添加到工具链中。
问题:
如何找到可用库的名称?
像一样boost-dev
,我做了很多谷歌搜索工作,以便将名称添加boost-dev
到TOOLCHAIN_TARGET_TASK
我可以得到的东西上。
但是,像OpenGL和OpenCL之类的东西,即使我知道它们是由/meta-fsl-arm/recipes-graphics/imx-gpu-viv
我提供的,我也应该如何找出应该添加到哪个包名TOOLCHAIN_TARGET_TASK
呢?
我进行了更多的谷歌搜索,并通过查看依赖关系找到了获取位烘烤目标使用的程序包名称的方法。
通过这样做bitbake -g <packagename> -u depexp
,将显示软件包之间的依赖关系,并显示Yocto构建中涉及的所有软件包的名称。
例如,devil
包依赖于devil-dev
,因此TOOLCHAIN_TARGET_TASK += "devil-dev"
在meta-toolchain%.bbappend
工具链中增加了魔鬼。
用这种方法找到的程序包名称可能不完整,特别是父程序包中包含的某些子程序包可能不会在此处显示。
发生这种情况时,请首先找到可能包含子程序包的父程序包,然后找到该.bb
文件的文件和.inc
文件。
在这些文件中,可能有一个PACKAGES
变量来告诉此程序包提供哪些子程序包。然后可以将这些子包添加到中TOOLCHAIN_TARGET_TASK
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句