Changes notification



1. Article purpose[edit | edit source]

The article aims to help rebase an STM32 MPU project on a new ecosystem release by focusing on the impacts of the main changes.

2. Scope of this article[edit | edit source]

This article provides some details for the main changes between STM32 MPU ecosystem release v6.1.0 and new STM32 MPU ecosystem release v6.2.0 . The aim is to help you to migrate your project.

All Information about the features delivered in the new release is available in the OpenSTLinux release note.

Important

In case of upgrade from OpenSTLinux ecosystem release v6.0.0, check first the previous release change notification available in this wiki, dedicated to the v6.y.z ecosystem releases:

3. Impacted domains[edit | edit source]

3.1. Yocto build environment for Distribution Package[edit | edit source]

  • Remove usage specific image for each partitions
  • Add image class to split rootfs image on several partitions: ST SPLIT PARTITIONS (see below paragraph for details)
  • IMAGE: all partitions needed by the flashlayout are provided by the class stsplitpartitions with partitions split's of default rootfs image.
  • "STM32CubeMP1" and "STM32CubeMP2" directories renamed (not the recipe name)
  • STM32CubeMP2: management of firmware ready to used via m33fw-stm32mp2 (default STM32CubeMP2 recipe provide only binaries that can be associated to others binary blob)

3.1.1. ST SPLIT Partitions detailed information[edit | edit source]

New stsplitpartitions class allows to split an unique image requested on several partitions/pieces like WIC does (for mmc storage).

Main advantage of creating a unique image, is to ensure that all package dependencies are properly managed, and you don't need to think about the destination of each files for a package which required to be split in different partitions.

In this OpenSTLinux release, the unique built image is rootfs.

The class support only few output format:

  • extx (ext2 ext2.gz ext2.bz2 ext3 ext3.gz ext3.bz2 ext4 ext4.gz ext4.bz2)
  • jffs2
  • tar (tar tar.bz2 tar.xz)
  • vfat
  • squashfs (squashfs squashfs-xz squashfs-zst)
  • multiubi for nand storage

To enable this ST image split mechanism, the variable PARTITIONS_IMAGES must be populate with parameters:

  • List of partitions to create and their definition
    • ex. PARTITIONS_IMAGES = "bootfs vendorfs rootfs userfs"
  • Definition of each partition:
    • Image name, ex: ${IMAGE_BASENAME}
    • Label of the partition, ex.: bootfs
    • Mount point of the partition, ex: /boot
    • Size of partition (on KB), ex: 65535 (64MB)
    • Type of the partition for flasher
      • ESP for efi boot partition
      • System for boot partition (bootfs partition)
      • FileSystem for other linux partitions (vendorfs, userfs, rootfs,....)
    • Number of copy (use for tsv creation)
    • List of fs not supported by this partition (ex. if you would like the partition to not be available on vfat while you would like to have for bootfs partition only)

Here is an example to illustrate:

PARTITIONS_IMAGES = "bootfs vendorfs rootfs userfs
PARTITIONS_IMAGES[bootfs] ?= "${IMAGE_BASENAME},bootfs,/boot,65536,System,0"
PARTITIONS_IMAGES[userfs] ?= "${IMAGE_BASENAME},userfsfs,/usr/local,131072,FileSystem,0"

The definition of bootfs, rootfs, vendorfs, userfs is defined here

3.2. Hardware configuration[edit | edit source]

Check the device tree files for the STMP32 MPU board. For that, you compare the both versions of the following components:

Information
This is possible with git diff command to get delta between two branches in the same repository.
Example with STLINUX GitHub repository and for all STM32MP1 device tree files:

git diff v6.6-stm32mp-r2 v6.6-stm32mp-r3 -- arch/arm/boot/dts/stm32mp1*

3.3. System configuration[edit | edit source]

  • Directory tree changed in External DT component
  • The configuration of OP-TEE profile is now centralized via the usage of boot scheme:
    • BOOTSCHEME_LABELS += "opteemin" for system_services
    • BOOTSCHEME_LABELS += "optee" for secure_and_system_services

3.4. Boot stages[edit | edit source]

  • None

3.5. Security[edit | edit source]

  • None

3.6. User space and applications[edit | edit source]

  • None

4. References[edit | edit source]





No categories assignedEdit