Search code examples
linuxyoctobitbakeopenembedded

Disable Mender in Yocto Rocko for Beaglebone Black Install


I'm trying to build a linux image for the beaglebone black using Yocto 2.4 (rocko) and running in to some trouble. It seems a new feature called mender has been added that handles updates. I don't want or need this feature, and it is causing me to be unable to build.

Upon trying to build core-image-minimal, I get the following error:

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.

My local.conf looks like so:

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"

And my bblayers.conf looks like so:

# 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 \
  "

I believe I am able to compile with essentially these settings in the previous version (pyro 2.3). It seems this mender thing is the cause of the trouble.

How can I disable it so it doesn't try and use it?


Solution

  • The correct way is to mask (hide) recipes-mender directory in meta-bbb. It is described in local.conf.sample [1] - see the BBMASK variable. If you are curious, there is also local.conf.mender-sample configuration example with mender enabled.

    So just copy these lines to your local.conf:

    # mask for non-mender builds
    BBMASK = "meta-bbb/recipes-mender"
    

    [1] https://github.com/jumpnow/meta-bbb/tree/1b0e5ad43c0ab883a855592fa22d57e5a6c5fab4/conf