MENU
Contact Us




Project

Complete Yocto project

Preparation of customized Linux image



CPU

ARM

Manufacturer

NXP

OS

Linux

Skills

Linux
Yocto
C/C++
CODESYS runtime

Project size:

Difficulty:




Request/problem:

It was required to create a Linux image with defined settings (network configuration, real-time) and components (CODESYS, QT). As there are different customer specific versions of the device (different types of touch functionality (resistive and capacitive), different CPU modules and different peripheral devices), it was required to prepare Yocto for user-friendly build and maintenance that could be managed by the customer.

Solution:

We prepared the repository containing several Yocto layers. Such repository also contains different configuration files allowing several different types of images to be built. All changes i.e. enabling real-time to Linux kernel were applied by Yocto automatically, using patches.
Different build configurations were created using Yocto and the image can be built depending on the hardware/device types by the customer. Thanks to such an approach, the software maintenance for each device type was facilitated and reduced possible mistakes.

Additionally, few standard components and services were removed to reduce boot-up time.

Architecture:

Architecture description:

  • Git-Repository 1 – contains the list of all repositories and layers to be used for the device image. The build environment is prepared by tool “repo” based on this repository
  • Git-Repository 2 – contains yocto layers containing different recipes to customize the image:
    • recipes-images – defines which packages are to be used for the image and special build parameters
    • recipes-bsp – u-boot configuration and extensions for Toradex easy installer
    • recipes-core – configuration of systemd
    • recipes-extended – codesys installation and configuration
    • recipes-kernel – linux kernel configuration and extensions. Linux kernel with RT-Preempt patch is used

Results:

This project was handled efficiently and delivered on time after a few weeks of implementation and test.

Screenshots:

Resources: