"virtual/..." 术语从何而来?

Where do the "virtual/..." terms come from?

在 Bitbake 中,我可以构建例如Linux 内核 bitbake virtual/kernel 或 U-Boot bitbake virtual/bootloader.

这些 "virtual/..." 术语从何而来?

我在poky目录下"virtual/kernel"等模式用了find,结果几乎无穷无尽,不知道去哪里找

我可以吗?当我可能编写了自己的引导加载程序时,直接 virtual/bootloader 到自定义配方?

From bitbake user-manual

As an example of adding an extra provider, suppose a recipe named foo_1.0.bb contained the following:

PROVIDES += "virtual/bar_1.0"

The recipe now provides both "foo_1.0" and "virtual/bar_1.0". The "virtual/" namespace is often used to denote cases where multiple providers are expected with the user choosing between them. Kernels and toolchain components are common cases of this in OpenEmbedded.

Sometimes a target might have multiple providers. A common example is "virtual/kernel", which is provided by each kernel recipe. Each machine often selects the best kernel provider by using a line similar to the following in the machine configuration file:

PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"

转到 your meta-layer/conf/machine/here 你可以找到宏。
your-meta-layer/recipes-bsp/barebox(or U-boot) 在这里您可以找到 bootloader 食谱 (.bb)。