User Tools

Site Tools



Layer meta-oic is providing iotivity and a couple of examples, it can be used by any OS based on Yocto/OE or many different hardware.

Layer Supported by project.

Usage: Select a yocto distro

git clone -b master
cd poky && source ./oe-init-build-env
bitbake core-image-minimal # check test can be skipped

Run emulator (hint: Ctrl+Shift+1 or 2 to switch VT)

MACHINE=qemux86 ; \
ROOTFS=$PWD/tmp/deploy/images/${MACHINE}/*-${MACHINE}.ext4 runqemu ${MACHINE}

Add Layer:

git clone

Append to layer configuration file (poky/conf/bblayers.conf)

nano poky/build/conf/bblayers.conf
RELATIVE_DIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}"
BBLAYERS += "${RELATIVE_DIR}/meta-oic"

Append to local configuration file (poky/conf/local.conf)

nano poky/build/conf/local.conf
CORE_IMAGE_EXTRA_INSTALL += " packagegroup-iotivity "
CORE_IMAGE_EXTRA_INSTALL += " openssh screen " # Optionally

Rebuild image with iotivity in:

bitbake core-image-minimal # check test can be skipped

Current release is: 1.2.1

Work in progress


Maintainer Kishen Maloor explained more about meta-oic :


Iotivity project has maintenance branches called 1.1-rel, 1.2-rel etc, so downstream patches are also welcome there.

examples apps are ready to be tested from :




Check Yocto chapter on Tizen page


AUTOMOTIVE: Tizen, Genivi, AGL

Check dedicated page for GENIVI, AGL Automotive distros

Using Yocto/OE SDK toolchain

Yocto is very convenient to ship BSP and SDKs, to use crossbuild unsupported iotivity or some examples code.

You need to set the right env and use scons this way:

. /usr/local/${sdk_package}/environment-setup-${sdk_toolchain}-linux-gnueabi
scons TARGET_ARCH=arm TARGET_OS=yocto

If build dependencies like boost are not part of SDK you'll have to build them too

In the end libs will be in out folder (double check about EABI).



yocto.txt · Last modified: 2018/03/02 16:08 by Phil Coval