Helping Yocto Project work with Python 3

According to the statistics from StackOverflow Python is the fastest-growing major programming language. First released in 1991, Python is nowadays commonly used for various applications in multiple different industries. Python is a first class citizen of many embedded Linux systems.

The Yocto Project, a collaborative project of the Linux Foundation for creating custom Linux distributions for embedded devices, uses the OpenEmbedded build system and relies on layer meta-python from meta-openembedded to deliver Python 3 packages. Until recently, meta-python was providing both python 2 and python 3 versions of each package. The Python community decided that January 1, 2020, was the day to sunset Python 2. Since then Python 2 has been officially deprecated. This triggered major changes related to the support in Yocto and OpenEmbedded. All recipes for version 2 were moved to layer meta-python2 to provide legacy support after the end of life for this Python release. In meta-openembedded/meta-python, the OpenEmbedded community started efforts to remove all recipes for version 2 as well as to consolidate inc and bb files into a single bb file for version 3.

Konsulko Group engineers are regular contributors to various upstream open source projects, including meta-openembedded and more specifically to meta-python. In the past month, Leon Anavi joined the community efforts for consolidating Python 3 recipes in a single file as well as for upgrading various packages. Nowadays, most of the Python 3 recipes are utilizing the pypi bbclass which takes care for downloading and processing packages from pypi.org. This makes most of the upgrades to new releases of a Python package straight-forward. However, it is important to check the list of build and runtime dependencies as well as to ensure that bitbake still works fine with the upgraded recipe version for both x86-64 and ARM architectures prior to submission. 

Let’s have a closer look at the recipe python3-protobuf. It has been recently upgraded from version 3.11.3 to version 3.12.2. Protocol Buffers, also known as protobuf, are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data. In the Yocto and OpenEmbedded ecosystem, recipe python3-protobuf depends on recipe protobuf from layer meta-oe. Both meta-oe and meta-python are part of meta-openembedded. So to avoid version mismatch and to ensure that bitbake will be able to successfully build python3-protobuf version 3.12.2 an upgrade of recipe protofobuf to the same version was mandatory. We contributed both upgrades to the master branch of the git repository meta-openembedded. The maintainers took care of cherry-picking them to the dunfell branch which is compatible with the latest stable release of the Yocto Project as of the moment. As a result, if you checkout the latest stable release of Poky, the reference system of the Yocto Project, and meta-openembedded you will be able to quickly build the latest version of protobuf and python3-protobuf out of the box.

Konsulko engineers have been there since the earliest days of the OpenEmbedded build framework and the Yocto Project. We continue to regularly make upstream contributions to these open source projects. Please contact us if you need your “own” Linux distro for your own embedded product.

Join us at FOSDEM

Please join us at FOSDEM, the annual free event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather in Brussels.

If you are at the event on February 2, you may want to attend an informal, no-host dinner of embedded and automotive community developers. Be sure to register if you plan to go.

Leon Anavi, Konsulko Group senior software engineer will give two talks at FOSDEM:
Making Open Source Hardware for Retrogaming on Raspberry Pi in which he will explain how to use device tree overlay for a simple gamepad, and The Software Developer’s Guide to Open Source Hardware.

We hope to see you there.

See you at the AGL AMM (and at ELC Europe the week after)

This week, Konsulko Group is coming to Dresden, Germany to the Automotive Grade Linux All Member Meeting. Matt Ranostay will present State of Connectivity in AGL, an overview and roadmap of bindings and binding APIs in the current and upcoming release of AGL. Scott Murray will speak on the developer panel.

Next week, Konsulko engineers will travel to Edinburgh, UK to give four technical sessions at co-located Linux Foundation events.
* At the OpenIoT Summit, Leon Anavi will speak about Open Source MQTT Brokers, a lightweight publish/subscribe machine-to-machine protocol with a reliable bi-directional communication in (near) real-time, and at Embedded Linux Conference Europe, Comparison of Voice Assistant SDKs for Embedded Linux Devices, including Google Assistant and Amazon Alexa as well as an open source alternative, Mycroft.
* At ELC Europe, Scott Murray will explore Building Container Images with OpenEmbedded and the Yocto Project, discussing container size, reproducibility, security vulnerability fixing, and license compliance.
* As part of special Embedded & IoT Apprentice Engineer Tracks (additional track registration required), Konsulko Group CTO Matt Porter will present Introduction to IIO and Input Drivers.

We hope to see you in Dresden or Edinburgh, or both.

Konsulko Group presents four technical sessions in Edinburgh

Embedded Linux Conference (ELC) is the premier vendor-neutral technical conference for companies and developers using Linux in embedded products. For the past 13 years, ELC has had the largest collection of sessions dedicated ​exclusively to embedded Linux and embedded Linux developers.

Co-located with both the Open Source Summit Europe, the leading conference for developers, architects, the open source community and industry leaders to collaborate and share information, and OpenIoT Summit, the only Internet of Things (IoT) event focused on the development of open IoT solutions, ELC Europe will be held in Edinburgh, UK, October 22-24, 2018.

Registration for one of the three co-located conferences allows you to attend the other two as well.

Konsulko engineers will present four technical sessions:

Leon Anavi will give two presentations –
* at the OpenIoT Summit, Open Source MQTT Brokers, a lightweight publish/subscribe machine-to-machine protocol with a reliable bi-directional communication in (near) real-time, and
* at ELC Europe, Comparison of Voice Assistant SDKs for Embedded Linux Devices, including Google Assistant and Amazon Alexa as well as an open source alternative, Mycroft.

At ELC Europe, Scott Murray will explore Building Container Images with OpenEmbedded and the Yocto Project, discussing container size, reproducibility, security vulnerability fixing, and license compliance.

As part of special Embedded & IoT Apprentice Engineer Tracks (additional track registration required), Konsulko Group CTO Matt Porter will present Introduction to IIO and Input Drivers.

We hope you are able to attend. We’ll see you in Edinburgh in October.

2 new articles help engineers new to Automotive Grade Linux

Konsulko Group’s Leon Anavi has made a couple of recent contributions to the Automotive Linux (AGL) wiki:
* ConnMan (how to use the cli tool to connect to a network)
* Media Browser and Player (playing songs from a USB stick)

We hope that this technical information will help beginners to get started easier and faster with AGL. We encourage you to participate in the AGL wiki. Feel free to update and improve either or both articles.

Konsulko Group presented two technical talks at ELC North America 2018

Konsulko engineers gave two well-received presentations at the Embedded Linux Conference, the premier vendor-neutral technical conference for companies and developers using Linux in embedded products. Slides and abstracts are available at the links below.

Konsulko ELC Portland 691 300
Tuesday, March 13 • 2:00pm – 2:50pm
Automating Open Source Hardware Lightning with Home Assistant and MQTT – presented by Leon Anavi

Talk at ELC Portland
Tuesday, March 13 • 4:20pm – 5:10pm
poky-tiny and Beyond, or Trying to put the Yocto in Yocto Project – presented by Scott Murray

ELC North America was held in Portland, Oregon, March 12-14, 2018.