我遇到使用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.
我能错过什么?
答案 0 :(得分:1)
当您运行" bitbake"必须是食谱或目标(至少)。配方/目标对应于bblayers.conf中包含的其中一个层中的。* .bb文件(即配方文件)(在某些情况下,这种关系并非完全正确,但让我们忽略这些目前)。大多数.bb文件将是包的配方,但有一些定义图像。由于图像配方是特殊的'它们通常包含在名为' images'在层内。所以执行
'找到。 -type d -name images'
从各个图层目录中,然后检查这些图像目录的内容,找到您感兴趣的图像配方(您最有可能对meta-raspberrypi中的图像感兴趣)。确定所需的图像,然后使用该图像名称
运行bitbake命令离。 ' bitbake rpi-basic-image'