找不到 Yocto 食谱

Yocto recipes not found

我正在学习 Yocto 并尝试使用它,我遵循了非常详细的 example。 当我尝试构建图像 (qt5.image) 时,它 returns 在解析配方后出现了几个错误:

$bitbake qt5-image
...
ERROR: No recipes available for:
  /home/dev/yocto/poky/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2019.07.bbappend
  /home/dev/yocto/poky/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend

错误很明显,但是因为那些元数据不是我的,而是从官方存储库下载的git://git.yoctoproject.org/meta-raspberrypi我不确定为什么会出现这个错误。

有什么我可以自己解决的吗?

更新:

这里是 bblayer.conf 的内容我已经调整了路径,但它与上面链接的示例文件相同:

$ cat conf/bblayers.conf 
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
    ${HOME}/yocto/poky/meta \
    ${HOME}/yocto/poky/meta-poky \
    ${HOME}/yocto/poky/meta-openembedded/meta-oe \
    ${HOME}/yocto/poky/meta-openembedded/meta-multimedia \
    ${HOME}/yocto/poky/meta-openembedded/meta-networking \
    ${HOME}/yocto/poky/meta-openembedded/meta-perl \
    ${HOME}/yocto/poky/meta-openembedded/meta-python \
    ${HOME}/yocto/poky/meta-qt5 \
    ${HOME}/yocto/poky/meta-raspberrypi \
    ${HOME}/rpi/meta-rpi \
    "

你能确定 'meta-raspberrypi' 包含在 bblayers.conf 文件中吗?您可以查看

中包含的这一层
build-*/conf/bblayers.conf

如果不包含,将此层添加到bblayers.conf中的bbpath中并重建它。

如果它仍然可用,能否请您发送错误的完整日志?

错误消息告诉您的是 meta-raspberrypi 层正在尝试修改它期望存在于另一层中的配方。在这种情况下,u-boot 和 gstreamer1.0-omx 配方来自 "meta"(因此 yocto/openembedded 主层)。

您应该检查您的层是否都使用相同的分支(并且都是最新的)。我猜你的元层(通常来自 poky git)在某个发布分支上,而你的元树莓派正在使用 master。在这种情况下,构建会像您的那样失败(例如,gstreamer1.0-omx 将是版本 1.14.4,而 bbappend 将寻找另一个版本)。

我遇到了同样的问题,我所做的是用对应于 poky 分支的分支检查 meta-raspberrypi:

  1. git clone -b warrior git://git.yoctoproject.org/poky
  2. cd poky
  3. git clone -b warrior git://git.yoctoproject.org/meta-raspberrypi
  4. source oe-init-build-env
  5. 添加图层到conf/bblayers.conf
  6. 在 conf/local.conf
  7. 中更改机器
  8. bitbake rpi-basic-image