Skip to content

embedded Linux

A Yocto Recipe for Qt Applications Built with CMake

How hard can it be to write a Yocto recipe for building a Qt application with CMake? Actually, it turns out to be pretty hard. I have seen my fair share of slow-and-dirty workarounds (nothing is ever quick with Yocto, not even the diry workarounds) how to force the Qt application into the Linux image and onto the device. Over the years, I turned my own slow-and-dirty workarounds into a hopefully quick-and-clean solution. Here it comes.

Read More »A Yocto Recipe for Qt Applications Built with CMake

Creating A Custom Yocto Layer

After having built the reference Linux image from a SoM, SoC or terminal maker and having run it on the board, we must inevitably custom-tailor this image to our needs. We must create our own Yocto layer. We must remove all the unnecessary packages and make our core application start automatically on power-up. Here is a step-by-step guide how to turn the application layer for a Toradex Verdin iMX8M Plus board into our own custom layer. The guide should also work for other boards.

Read More »Creating A Custom Yocto Layer

Installing Linux Images on Toradex Verdin Boards

In the post Setting Up Yocto Projects with kas, we built the Linux image for the Toradex Verdin iMX8M Plus. It’s time to flash the image on the board using the Toradex Easy Installer (TEZI). It’s a three-step procedure: wire up the board in a special way, install and run TEZI on the board, and flash our custom-built Linux image from a USB drive on the board.

Read More »Installing Linux Images on Toradex Verdin Boards

Setting Up Yocto Projects with kas

Kas makes the setup of a Yocto build environment super simple and super fast. We call kas with a project configuration file: kas-container build ./eu-terminal-distro.yml. Kas starts a Docker container, clones the layer repositories, initialises the Yocto configuration files (local.conf and bblayers.conf), and starts building the embedded Linux system. Most Linux BSP providers don’t make a kas configuration file available. I’ll show how to convert a repo manifest file into a kas configuration file in this post.

Read More »Setting Up Yocto Projects with kas
Ports-and-adapters architecture for harvester terminal with GUI, Cloud, Machine and Customer adapter.

My Talk “A Successful Architecture for Qt Embedded Systems” at Qt Day Italy 2021

Creating an architecture means answering many questions about the ecosystem, in which the Qt embedded system operates. While the questions are very similar for all Qt embedded systems, the answers and their priorities differ. So, you should be able to transfer the questions and answers from my running example, a harvester terminal, to your system.

Read More »My Talk “A Successful Architecture for Qt Embedded Systems” at Qt Day Italy 2021
Window manager showing split view of home (left) and of turbine cam (right).

Architecture of Qt Embedded Systems: Single vs. Multiple GUI Applications

Our quest for a successful architecture of a harvester terminal continues. In this episode, we discuss when a system with a single application is good enough and when a system with multiple applications and a window manager is the better choice. Sometimes, a single-application system with a window manager is just the right choice.

Read More »Architecture of Qt Embedded Systems: Single vs. Multiple GUI Applications