我正在尝试使用 Yocto 2.4(rocko(为 beaglebone black 构建一个 linux 映像,但遇到了一些麻烦。 似乎添加了一个名为 mender 的新功能来处理更新。 我不想要或不需要此功能,它导致我无法构建。
在尝试构建核心映像最小时,我收到以下错误:
Loading cache: 100% |###############################################################################################################################################################################| Time: 0:00:00
Loaded 2803 entries from dependency cache.
Parsing recipes: 100% |#############################################################################################################################################################################| Time: 0:00:01
Parsing of 2008 .bb files complete (2001 cached, 7 parsed). 2810 targets, 94 skipped, 0 masked, 0 errors.
ERROR: No recipes available for:
/home/sysop/build-2017-09-26/tmp_build/build/bbb/../meta-bbb/recipes-mender/mender/mender_%.bbappend
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
我的本地 .conf 看起来像这样:
MACHINE ??= "beaglebone"
DISTRO ?= "poky"
PACKAGE_CLASSES ?= "package_deb"
EXTRA_IMAGE_FEATURES = "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "
STOPTASKS,${TMPDIR},1G,100K
STOPTASKS,${DL_DIR},1G,100K
STOPTASKS,${SSTATE_DIR},1G,100K
STOPTASKS,/tmp,100M,100K
ABORT,${TMPDIR},100M,1K
ABORT,${DL_DIR},100M,1K
ABORT,${SSTATE_DIR},100M,1K
ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"
BB_NUMBER_THREADS ?= "12"
PARALLEL_MAKE ?= "-j 16"
CORE_IMAGE_EXTRA_INSTALL += "openssh"
CORE_IMAGE_EXTRA_INSTALL += "openssl"
CORE_IMAGE_EXTRA_INSTALL += "sudo"
CORE_IMAGE_EXTRA_INSTALL += "python-modules"
CORE_IMAGE_EXTRA_INSTALL += "python-smbus"
CORE_IMAGE_EXTRA_INSTALL += "python-pyserial"
CORE_IMAGE_EXTRA_INSTALL += "python-json"
CORE_IMAGE_EXTRA_INSTALL += "python-flask"
CORE_IMAGE_EXTRA_INSTALL += "i2c-tools"
CORE_IMAGE_EXTRA_INSTALL += "vim"
CORE_IMAGE_EXTRA_INSTALL += "gnupg"
CORE_IMAGE_EXTRA_INSTALL += "nano"
CORE_IMAGE_EXTRA_INSTALL += "cifs-utils"
CORE_IMAGE_EXTRA_INSTALL += "apache2"
我的bblayers.conf看起来像这样:
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= "
${TOPDIR}/../meta
${TOPDIR}/../meta-poky
${TOPDIR}/../meta-yocto-bsp
${TOPDIR}/../meta-openembedded/meta-oe
${TOPDIR}/../meta-openembedded/meta-python
${TOPDIR}/../meta-openembedded/meta-networking
${TOPDIR}/../meta-openembedded/meta-webserver
${TOPDIR}/../meta-bbb
${TOPDIR}/../meta-qt5
"
BBLAYERS_NON_REMOVABLE ?= "
${TOPDIR}/../meta
${TOPDIR}/../meta-poky
"
我相信我能够在以前的版本(pyro 2.3(中基本上使用这些设置进行编译。 看来这个男人的事情是麻烦的原因。
如何禁用它,使其不尝试使用它?
正确的方法是屏蔽(隐藏(recipes-mender
meta-bbb
中的目录。它在 local.conf.sample
[1] 中有描述 - 请参阅BBMASK
变量。如果您好奇,还有local.conf.mender-sample
启用了 mender 的配置示例。
因此,只需将这些行复制到您的local.conf
:
# mask for non-mender builds
BBMASK = "meta-bbb/recipes-mender"
[1] https://github.com/jumpnow/meta-bbb/tree/1b0e5ad43c0ab883a855592fa22d57e5a6c5fab4/conf
如果不需要meta-mender
可以删除图层meta-bbb
recipes-mender
目录,还可以检查文件vi meta-bbb/conf/layer.conf.