YumaWorks YumaPro Yocto Linux Software User Guide
- June 4, 2024
- YumaWorks
Table of Contents
Yuma Yocto Linux Software
User Guide
Yuma Yocto Linux Software
Yuma Yocto Linux Quickstart Guide
YANG-Based Unified Modular Automation Tools Yocto Quickstart Guide
Version 18.10-32
Preface
1.1 Legal Statements
Copyright 2017-2020, YumaWorks, Inc., All Rights Reserved.
1.2 Additional Resources
Other documentation includes:
YumaPro Installation Guide
Yuma Quickstart Guide
Yuma API Quickstart Guide
Yuma User Manual
YumaPro netconfd-pro Manual
YumaPro yangcli-pro Manual
YumaPro yangdiff-pro Manual
YumaPro yangdump-pro Manual
Yuma Developer Manual
Yuma client-pro Manual
YumaPro yp-system API Guide
YumaPro yp-show API Guide
YumaPro yp-snmp Manual
To obtain additional support you may contact YumaWorks technical support
department: support@yumaworks.com
1.2.1 WEB Sites
- YumaWorks https://www.yumaworks.com Offers support, training, and consulting for YumaPro.
- Netconf Central http://www.netconfcentral.org/ Free information on NETCONF and YANG, tutorials, online YANG module validation and documentation database
- Yang Central http://www.yang-central.org Free information and tutorials on YANG, free YANG tools for download
- NETCONF Working Group Wiki Page
- http://trac.tools.ietf.org/wg/netconf/trac/wiki Free information on NETCONF standardization activities and NETCONF implementations
- NETCONF WG Status Page http://tools.ietf.org/wg/netconf/ IETF Internet draft status for NETCONF documents
- libsmi Home Page http://www.ibr.cs.tu-bs.de/projects/libsmi/ Free tools such as smidump, to convert SMIv2 to YANG
1.2.2 Mailing Lists
-
NETCONF Working Group
https://mailarchive.ietf.org/arch/browse/netconf/
Technical issues related to the NETCONF protocol are discussed on the NETCONF WG mailing list. Refer to the instructions on https://www.ietf.org/mailman/listinfo/netconf for joining the mailing list. -
NETMOD Working Group
https://datatracker.ietf.org/wg/netmod/documents/
Technical issues related to the YANG language and YANG data types are discussed on the NETMOD WG mailing list. Refer to the instructions on the WEB page for joining the mailing list.
1.3 Conventions Used in this Document
The following formatting conventions are used throughout this document:
Documentation Conventions
The following formatting conventions are used throughout this document:
Documentation Conventions
Convention | Description |
---|---|
–foo | CLI parameter foo |
XML parameter foo | |
some text | Example command or PDU |
some text | Plain text |
1.4 Intended Audience
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.
Introduction
The Yocto Linux development system allows custom Linux variants to be created
in an automated, controlled manner. Yocto Home Page:
https://www.yoctoproject.org/
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:
https://www.openembedded.org/wiki/Main_Page
Yocto Features Supported by the YumaPro Server:
- Makefiles have been updated to fully support bitbake environment variables for cross-compiler use
- drop bear SSH server integration
- OpenSSH SSH server integration
- system daemon integration
- lighttpd WEB server integration
- net-SNMP integration for SNMP protocol support
- base-files integration for yp-shell integration and user management
This preliminary version of the YumaPro for Yocto Linux package supports
version 2.3 (Pyro) of the Yocto Linux development system. 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 Yuma functionality is specified in a layer named “meta-yumapro”.
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.
The meta-yumapro package contains 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.
2.1 IoT vs. SDN Recipe Differences
There are two example server recipes provided. These can be used directly or
adapted for use in a doctor build environment.
The following table summarizes the differences between these recipes.
Feature | netconfd-pro-iot | netconfd-pro-Sdn |
---|---|---|
SSH Server for NETCONF and yp shell | drop bear | OpenSSH |
WEB Server for RESTCONF | lighttpd | lighttpd |
control 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 |
Yocto Build Host Software
The build host tools need to be set up before the server can be built.
The yumapro layer is designed to work with the Yocto 2.3 release (Pyro) or
later.
The “pyro” and “master” branches of the Poky project have been tested with the
meta-yumapro layer.
The following diagram shows the directories that the user is expected to set
up (in blue) and the directories that the supplied software will
add.
Directory | Description |
---|---|
poky | Your installation of the poky build system |
build | The root of all build directories |
conf | Build configuration directory. Edit local. conf and players.conf |
top | The root of all bitbake-generated build files |
meta-* | Several open source layer directories |
meta-yumapro | The root of the yumapro layer bitbake files |
recipes-server | The root directory for all yumapro server recipes |
netconfd-pro | The root directory of all netconfd-pro recipes (IoT and SDN) |
YumaPro Yocto Quickstart Guide
The netconfd-pro-iot and netconfd-pro-sdn recipes are designed to integrate
with certain open source recipes, in order to
automatically produce a system image with a running system, upon first boot.
The following recipes are used by the yumapro server recipes:
- base-files: Used to add yp-shell to /etc/shells
- drop bear: Used to integrate netconfd-pro-not support into dropbear and configure boot-time parameters
- OpenSSH: Used to configure netconfd-pro-sdn boot-time parameters into OpenSSH
- Lighttpd: Used to configure RESTCONF server boot-time parameters for Lighttpd WEB server
- net-SNMP: Used to integrate SNMP protocol support and configure boot-time SNMP parameters
3.1 Setup Yocto Linux
These instructions do not override the Yocto documentation.
This document is not a yocto tutorial. Refer to the Yocto documentation for
details on using the Yocto and bitbake software.
Yocto 2.3 Quick Start Guide:
http://www.yoctoproject.org/docs/2.3/yocto-project-qs/yocto-project-qs.html
Yocto 2.3 Mega Manual:
http://www.yoctoproject.org/docs/2.3/mega-manual/mega-manual.html
Yocto 2.3 Developer Manual:
http://www.yoctoproject.org/docs/2.3.1/dev-manual/dev-manual.html
Building your own recipe:
https://wiki.yoctoproject.org/wiki/Building_your_own_recipes_from_first_principles
Bitbake User Manual:
http://www.yoctoproject.org/docs/2.3/bitbake-user-manual/bitbake-user-
manual.html#bitbake-user-manual-command
Follow the instructions in the Yocto Quick Start guide.
Example Ubuntu Install.
1a) install dependencies
Sudo apt-get install gawk wget git-core diffstat unzip Texinfo GCC-multilib \ build-essential chrpath socat cpio python python3 python3-pip python3-expect \ xz-utils debianutils iputils-ping libsdl1.2-dev xterm 1b) Install poky
git clone git://git.yoctoproject.org/poky> cd poky
[Should be on branch ‘master’] 1c) add meta-webserver > git clone git://git.openembedded.org/meta-openembedded
3.1.2 Setup Build Configuration
Starting in the ‘poky’ directory, source the environment file to enable
bitbake.
Then cd to the “conf” directory and edit the configuration files.
source oe-init-build-env build> cd conf build/conf>
Edit local.conf:
- Enable a target platform. The default is the i586 architecture on the qemu86 virtual target. Refer to the Yocto Quick start guide to enable different targets and board support packages (BSPs).
- Add the netconfd-pro server recipe to the image. Choose either netconfd-pro-iot or netconfd-pro-sdn, but not both. Example for netconfd-pro-sdn:
IMAGE_INSTALL_append = ” netconfd-pro-sdn”
Edit bilayers.conf:
- Enable layers needed to build the desired Yocto Linux system variants. The following example shows the layers needed for all variants of the netconfd-pro server. The file locations will be different depending on your Yocto installation location.
BBLAYERS ?= ” \
/home/andy/swdev/poky/meta \
/home/andy/swdev/poky/meta-poky \
/home/andy/swdev/poky/meta-yocto-bsp \
/home/andy/swdev/poky/meta-openembedded/meta-oe \
/home/andy/swdev/poky/meta-openembedded/meta-python \
/home/andy/swdev/poky/meta-openembedded/meta-networking \
/home/andy/swdev/poky/meta-openembedded/meta-webserver \
/home/andy/swdev/poky/meta-yumapro \”
3.2 meta-yumapro Layer
The meta-yumapro tarball contains “yumapro” layer files required to build,
install, and integrate a multi-protocol server for Yocto Linux.
3.2.1 Installation
Tarball Naming Conventions
The filename structure of the tarball file is as follows: meta-
yumapro_version.gz
Example Filename:meta-yumapro_17.10-2.tar.gz
Extract to the poky Directory
The files need to be extracted to the poky directory so subtrees can be
integrated into the built environment for the server.
Extraction Example: > cd poky
tar xvf meta-yumapro_17.10-2.tar.gz
Creates a directory named meta-yumapro in the current directory.
3.2.2 Configuration
The only recipes supported at this time are “netconfd-pro-iot” and “net conf-
pro-sdn”. The configuration files for these recipes are located in the
directory poky/meta- yumapro/recipes-server/netconfd-pro. There are several
features that can be enabled or disabled by uncommenting or commenting a set
of directives.
The set of recipe files:
- netconfd-pro.inc: common recipe file
- netconfd-pro-iot.inc: IoT configuration recipe file
- netconfd-pro-sdn.inc: SDN configuration recipe file
- netconfd-pro-iot_17.10.bb: IoT configuration main recipe file for 17.10 release train
- netconfd-pro-sdn_17.10.bb: SDN configuration main recipe file for 17.10 release train
Version 18.10-32
Documents / Resources
|
YumaWorks YumaPro Yocto Linux
Software
[pdf] User Guide
YumaPro Yocto Linux Software, Yocto Linux Software, Linux Software, YumaPro
Yocto
---|---
References
- meta-openembedded - Collection of OpenEmbedded layers
- poky - Poky Build Tool and Metadata
- Network Configuration (netconf)
- NETCONF WG - Network Configuration | IETF Community Wiki
- libsmi - A Library to Access SMI MIB Information
- NetconfCentral
- Yocto Project Development Manual
- BitBake User Manual
- Yocto Project Mega-Manual
- Yocto Project Quick Start
- Network Modeling (netmod)
- netconf
- Building your own recipes from first principles - Yocto Project
- netconf Info Page
- Openembedded.org
- The Yocto Project
- YANG-driven Automated Network Management Tools | YumaWorks
- YANG-driven Automated Network Management Tools | YumaWorks
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>