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.
The build-time and run-time information needed to build an entire Linux platform for an embedded system is managed as metadata within Yocto.
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.