bitbake错误:没有什么能提供Raspberry Pi

时间:2017-10-22 17:33:27

标签: raspberry-pi yocto bitbake openembedded

我遇到使用Mender.io和Yocto构建Raspberry Pi图像的问题。

这是我的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 ?= " \
      /root/poky/meta \
      /root/poky/meta-poky \
      /root/poky/meta-yocto-bsp \
      /root/poky/meta-mender/meta-mender-core \
      /root/poky/meta-mender/meta-mender-raspberrypi \
      /root/poky/meta-raspberrypi \
      /root/poky/meta-openembedded/meta-oe \
      /root/poky/meta-openembedded/meta-multimedia \
      /root/poky/meta-openembedded/meta-python \
      /root/poky/meta-openembedded/meta-networking \
  "

这是我的local.conf

PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
#ASSUME_PROVIDED += "libsdl-native"

# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
# this doesn't mean anything to you.
CONF_VERSION = "2"

# The name of the disk image or Artifact that will be built.
# This is what the device will report that it is running, and different updates must have different names
# because Mender will skip installation of an artifact if it is already installed.
MENDER_ARTIFACT_NAME = "release-1"

INHERIT += "mender-full"

# A MACHINE integrated with Mender.
# vexpress-qemu or beaglebone can be used for testing.
MACHINE = "raspberrypi0"

DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""

IMAGE_FSTYPES = "ext4"

KERNEL_IMAGETYPE = "uImage"

MENDER_PARTITION_ALIGNMENT_KB = "4096"
MENDER_BOOT_PART_SIZE_MB = "40"

do_image_sdimg[depends] += " bcm2835-bootfiles:do_populate_sysroot"

# raspberrypi files aligned with mender layout requirements
IMAGE_BOOT_FILES_append = " boot.scr u-boot.bin;${SDIMG_KERNELIMAGE}"
IMAGE_INSTALL_append = " kernel-image kernel-devicetree"
IMAGE_FSTYPES_remove += " rpi-sdimg"

当我运行以下命令时

bitbake image1

我收到以下错误:

Loading cache: 100% |################################################################################################################################| Time: 0:00:00
Loaded 160 entries from dependency cache.
Parsing recipes: 100% |##############################################################################################################################| Time: 0:01:22
Parsing of 1982 .bb files complete (97 cached, 1885 parsed). 2743 targets, 184 skipped, 0 masked, 0 errors.
ERROR: Nothing PROVIDES 'image1'

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

我能错过什么?

1 个答案:

答案 0 :(得分:1)

当您运行" bitbake"必须是食谱或目标(至少)。配方/目标对应于bblayers.conf中包含的其中一个层中的。* .bb文件(即配方文件)(在某些情况下,这种关系并非完全正确,但让我们忽略这些目前)。大多数.bb文件将是包的配方,但有一些定义图像。由于图像配方是特殊的'它们通常包含在名为' images'在层内。所以执行

  

'找到。 -type d -name images'

从各个图层目录中,然后检查这些图像目录的内容,找到您感兴趣的图像配方(您最有可能对meta-raspberrypi中的图像感兴趣)。确定所需的图像,然后使用该图像名称

运行bitbake命令
  

离。 ' bitbake rpi-basic-image'