Last edited one month ago

How to create your own image

Applicable for STM32MP13x lines, STM32MP15x lines, STM32MP21x lines, STM32MP23x lines, STM32MP25x lines

1. Article purpose

The main goal of this article is to describe how to customize images to fit application requirements.
The idea is to add missing tools in the user file system.
Tools are related to kernel, network, audio, ui, ...

2. Prerequisites

The OpenSTLinux distribution delivery must be already installed.

3. Available ST images

3.1. OpenEmbedded images

The OpenEmbedded build system provides severals example images to satisfy different needs.
All details are explained Yocto Project Reference Manual Reference Images

Some existing images are located here: <path of OpenSTLinux distribution delivery>/openembedded-core/meta/recipes-*/images/*.bb

The core-image-base can be a good starting points and a source or inspiration for creating user's own images:

openembedded-core            
├── meta  
│   ├── classes
│       ├── core-image.bbclass
│   ├── recipes-core
│       ├── images
│           ├── core-image-base.bb
└── [...]


In addition OpenSTLinux Distribution provides even more images, still derived from OpenEmbedded, and that can be used as example and for demonstration.

Warning white.png Warning
ST images are not optimized in term of size or features.

3.2. Official OpenSTLinux images

  • st-image-weston : OpenSTLinux weston image with basic Wayland support (if enable in distro)

This image is located here : <path of OpenSTLinux distribution delivery>/meta-st/meta-st-openstlinux/recipes-st/images/st-image-weston.bb

3.3. Others OpenSTLinux images

3.3.1. Supported images

  • st-image-core  : OpenSTLinux core image

This image is located here : <path of OpenSTLinux distribution delivery>/meta-st/meta-st-openstlinux/recipes-st/images/st-image-core.bb

meta-st-openstlinux            
├── recipes-st  
│   ├── images
│       ├── st-image-core.bb
│       ├── st-image.inc
│       ├── st-image-weston.bb
│   ├── packagegroups
│       ├── packagegroup-framework-tools.bb
└── [...]

3.3.2. Images proposed as example-only

  • st-example-image-qt : ST example of image based on QT framework (require 'openstlinux-eglfs' distro)
  • st-example-image-qtwayland : ST example of image based on QT framework (require 'openstlinux-weston' distro, only available for ecosystem release ≥ v2.1.0 )

More images are available here : <path of OpenSTLinux distribution delivery>/meta-st/meta-st-openstlinux/recipes-samples/images/

meta-st-openstlinux            
├── recipes-samples  
│   ├── images
│       ├── st-example-image-qt.bb
│       ├── st-example-image-qtwayland.bb
│       │ [...]
└── [...]

4. Customizing images

Several ways are explained and described here Yocto Megamanual Customizing Images

The way recommended and used by ST is to follow the method described in chapters Customizing Images Using Custom .bb Files and Customizing Images Using Custom Package Groups of Yocto Megamanual.