Yocto Introduction

This document is intended for software developers using the YumaPro SDK and multi-protocol server in custom embedded Linux platforms by using the Yocto Project and its BitBake recipes. It covers the setup and basic steps required to build the software. The reader should be familiar with the Yocto Project.

Yocto Linux

The Yocto Linux development system allows custom Linux variants to be created in an automated, controlled manner.

Yocto Home Page

The build-time and run-time information needed to build an entire Linux platform for an embedded system is managed as metadata within Yocto.

OpenEmbedded Home Page

Yocto Features Supported by the YumaPro Server:

  • Makefiles have been updated to fully support bitbake environment variables for cross-compiler use

  • dropbear SSH server integration

  • openSSH SSH server integration

  • system deamon integration

  • lighttpd WEB server integration

  • net-snmp integration for SNMP protocol support

  • base-files integration for yp-shell integration and user management

Yocto Versions

The Yocto syntax in recent releases is not backward-compatible with earlier releases. Each layer that is written to work with Yocto must specify the base Yocto branch it for which it is designed.

This version of the YumaPro for Yocto Linux package supports one specific versions of the Yocto Linux development system.

  • Yocto Version 4.0 (Kirkstone)

The recipe “core-image-minimal” is used as the base for YumaPro server integration.

  • The complete YumaPro server can be built for Yocto Linux to provide YANG-based NETCONF, RESTCONF, SNMP, and CLI management interfaces.

  • The YumaPro functionality is specified in a layer named “meta-yumapro”.

YumaPro Recipes for Yocto

There are two variants (called recipes) of the server supported at this time:

  • netconfd-pro-iot: Server for IoT platforms, based on yumapro-core source tarball

  • netconfd-pro-sdn: Server for SDN platforms, based on yumapro-server source tarball

These recipes can be customized as needed. It is expected that specific board support packages (BSPs) will be selected by a vendor according to project requirements.

IoT vs. SDN Recipe Differences

There are two example server recipes provided. These can be used directly or adapted for use in a yocto build environment. The following table summarizes the differences between these recipes.

Feature

IOT

SDN

SSH Server for NETCONF and yp-shell

dropbear

openssh

WEB Server for RESTCONF

lighttpd

lighttpd

YControl Protocol

Not Supported

Supported

DB-API Protocol

Not Supported

Supported

SIL-SA Protocol

Not Supported

Supported

YP-HA Protocol

Not Supported

Supported

Static Build

Supported

Not Supported

YumaPro Source Tarballs for Yocto

The "meta-yumapro" tarballs contain the recipes and other data files to allow a Yocto cross-compile image to be created. All makefiles have been updated so that the variables used by bitbake are supported for correct cross-compile development.

There are 2 different tarballs available. The proper tarball depends on the YumaPro source tarball available to you.

  • meta-yumapro

    • Contains the complete meta-yumapro layer. The 'yumapro-server' source code package is included in the tarball.

  • meta-yumapro-raw

    • Contains the raw meta-yumapro layer. No source code package is included in the tarball. It must be added manually before Yocto can be used.