bitbake:构建系统如何选择多层提供的配方?

dud*_*gke 5 openembedded bitbake yocto

元图层提供配方:

meta/recipes-graphics/x11-common/xserver-nodm-init.bb 
Run Code Online (Sandbox Code Playgroud)

meta-oe层提供配方:

meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
Run Code Online (Sandbox Code Playgroud)

我的问题是:

构建系统如何从多层中选择xserver-nodm-init?

它是否根据conf/bblayers中的图层顺序选择xserver-nodm-init配方?

Jus*_*nen 14

层优先级(BBFILE_PRIORITY)和配方版本号(PV通常从文件名自动化)将决定使用哪个配方.即使该层中的配方版本较低,也将使用较高优先级层中的配方,因此版本号仅在层优先级相同时才有用.

在您的情况下,meta /中的配方没有明确的版本号:PV默认为1.0.

您可以使用bitbake-layers show-layers查看所有图层的优先级,例如bitbake -e <recipe> | grep ^PV检查实际为配方选择的版本.要覆盖特定配方的"错误"选择,您可以PREFERRED_VERSION_<recipe> = <version>在发行版或本地配置中使用.