Difference between revisions of "STM32 MPU OpenSTLinux release note - v4.0.0"

[unchecked revision] [quality revision]
m
m (Minor release updates)
Applicable for STM32MP13x lines, STM32MP15x lines

This article describes the content of OpenSTLinux distribution software release version openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15, which is part of STM32 MPU ecosystem release note - v4.0.0.

1 Intended audience[edit]

The targeted audience is STM32MP13x lines Warning.png and STM32MP15x lines More info.png customers or partners.

2 Delivery scope and purpose[edit]

The OpenSTLinux distribution is a Linux® distribution based on the OpenEmbedded build Framework. It runs on the Arm® Cortex®-A7 processors, and is a fundamental part of the STM32MPU Embedded Software distribution. This delivery of OpenSTLinux distribution is part of STM32 MPU Ecosystem v4.0.0 (see the STM32 MPU ecosystem release note - v4.0.0).

3 Licensing[edit]

This software package is licensed under a LIMITED LICENSE AGREEMENT FOR ST MATERIALS EVALUATION (LLA). Customers may not use this package except in compliance with the software license agreement (SLA).

All of the packages use the same source components. All components and their respective licenses are listed here.

4 Supported hardware[edit]

This software delivery is compatible with the following boards:

  • STM32MP135D-DK Warning.png and STM32MP135F-DK Warning.png Discovery kits of STM32MP13x lines Warning.png.
  • STM32MP157A-EV1 More info green.png(obsolete), STM32MP157C-EV1 More info green.png(obsolete), STM32MP157D-EV1 More info green.png and STM32MP157F-EV1 More info green.png Evaluation boards of STM32MP15x lines More info.png.
  • STM32MP157A-DK1 More info green.png(obsolete), STM32MP157C-DK2 More info green.png(obsolete), STM32MP157D-DK1 More info green.png and STM32MP157F-DK2 More info green.png Discovery kits of STM32MP15x lines More info.png.

5 Delivered features[edit]

5.1 Main software components[edit]

  • Linux kernel v5.15-stm32mp-r1 (v5.15.24 )
  • TF-A v2.6-stm32mp-r1
  • U-Boot v2021.10-stm32mp-r1
  • OP-TEE 3.16.0-stm32mp-r1
  • STM32CubeMP1 Package v1.6.0
  • OpenEmbedded v4.0.1 (Kirkstone)
  • Weston version v10.0.0
  • Wayland version 1.20.0
  • GStreamer version v1.20.1
  • GCC version v11.2
  • OpenOCD version v0.11.0
  • GCnano version v6.4.7

5.2 Detailed features[edit]

5.2.1 OpenSTLinux layers part[edit]

  • Rebase on Yocto LTS Release 4.0.1 (Kirkstone)
  • Many impacts in recipes
  • Graphic frameworks user change for security reasons (change from Weston community)
  • Machine:
  • New stm32mp13-disco for STM32MP135D-DK Discovery kit Warning.png and STM32MP135F-DK Discovery kit Warning.png
  • Add support of Firmware Update feature
  • Minor fixes
Info white.png Information
From this release OpenSTLinux v4.0.0, FIP configuration is the only packaging format supported for boot loaders (more about FIP here) :
  • 0nly TF-A BL2 requires the stm32 header for a ROM code authentication. Others bootloader binaries are embedded in a FIP container.
  • A dedicated fip-utils-stm32mp.bbclass class is provided on meta-st-stm32mp layer side to manage the FIP image configuration, build and update.

5.2.2 Linux® kernel part[edit]

New component release tag v5.15-stm32mp-r1 rebased on official Linux® kernel v5.15.24.

Main updates for STMP32MP1:

  • CONFIG: STM32MP13x lines Warning.png and STM32MP15x lines More info.png support
  • DT: New boards STM32MP135F-DK Discovery kit Warning.png and STM32MP135D-DK Discovery kit Warning.png support
  • FMC nand driver Write Protect(WP) function support
  • RTC ALARM TOGGLE
  • Minor fixes


STM32MP15x lines More info.png:

  • LCD Rocktech RK055MHD042A0-CTG support

5.2.3 U-boot part[edit]

New component release tag v2021.10-stm32mp-r1 rebased on official U-Boot v2021.10

Main updates for STMP32MP1:

  • Device tree alignment with Linux kernel v5.15-stm32mp-r1
  • Add STM32MP13x family support
  • DDR tuning support removed
  • Activate CONFIG_OF_LIVE
  • Activate CONFIG_LOG
  • Deactivate IPCC driver
  • Add Uclass USB typeC and driver for UCSI
  • Add USB phy tuning support
  • Add NAND Write Protect support
  • Add ADC calibration support
  • Add TF-A firmware update support
  • Update SCMI support for OP-TEE transport
  • Add BSEC and stm32prog support with OP-TEE and TA
  • ADC calibration in U-Boot
  • Other minor updates
Info white.png Information
The U-Boot defconfig to use for ecosystem release ≥ v4.0.0 change to stm32mp15_defconfig.
Warning white.png Warning
SPL and STM32Image is no more supported in OpenSTLinux U-Boot. Migrate to TF-A with FIP support instead.

5.2.4 TF-A part[edit]

New component release tag v2.6-stm32mp-r1 rebased on official TF-A 2.6

Main updates for STM32MP1:

  • Rebase OpenSTLinux delivery on official TF-A tag v2.6
  • Introduction of STM32MP13 platform
  • FIP encryption for STM32MP13
  • Firmware Update (FWU) support
  • Early console management
  • Configurable baudrate for UART
  • Serial boot (USB/UART): flashlayout is no more loaded by BL2
  • BL2 always boots at 650MHz
  • Removal of STM32IMAGE legacy boot
  • Minor fixes


5.2.5 OP-TEE part[edit]

New component release tag 3.16.0-stm32mp-r1 rebased on official OP_TEE OS 3.16.0

Main updates for STMP32MP1:

  • Introduction of STM32MP13 platform
  • OP-TEE Updated driver model based on DT
  • New driver probing model based on device tree
  • Support IRQ threads
  • Fix GIC low-power sequence
  • Pinctrl, I2C and clocks are now providers
  • Rework HSI/LSI clocks calibration as a PTA
  • OTP PTA interface for OTP management
  • TA NVMEM for OTP provisionning support
  • CRYP/HASH/BSEC/TAMP driver update
  • TZC400 full configuration
  • RNG connection to HW RNG PTA -> RNG secure by default
  • Firewall bus management update
  • Backup battery charging
  • Replace Python wand with a new supported library
  • Support Secured display
  • Minor Fixes
  • Documentation: Add device tree bindings documentation
  • STM32MP15x lines More info.png:
  • Probe non secure IP management

6 Recommendations for use[edit]

6.1 Safe use[edit]

  • Flash programming and boot from all supported flash devices: SDCard, eMMC, ONFI NAND and NOR flash memories
  • Develop Linux® applications, libraries, kernel modules based on OpenSTLinux delivery
  • Develop coprocessor Cube applications based on STM32CubeMP1 delivery
  • Develop boards based on STM32MP1 Series
  • Prototype applications based on ST boards

6.2 Non-recommended use[edit]

  • None

7 Main restrictions list[edit]

  • If Firmware Update is not enable, flashlayout partition no more needed, but storage mapping hardcoded in U-Boot; so either flashlayout keep partitions for Firmware Update feature or U-Boot needs to be updated.
Warning white.png Warning
On an Ubuntu 18.04 (with a host gcc version prior to 8.0), U-Boot cannot be built by using the STM32MP1_Developer_Package because of the usage of an unsupported option : -fmacro-prefix-map .

8 Minor release updates[edit]

STMicroelectronics regularly delivers corrections through github® components which are U-Boot, OP-TEE, TF-A, Linux kernel.
The corrections can be incorporated into the Developer Package (refer to STM32MP1 Developer Package) or Distribution Package (see below).

Two possibilities exist to update a Distribution Package:

  • Update your existing Distribution Package:
Switch your Distribution Package to # github® mode .
  1. Use the devtool modify <recipe name> command to set up an environment. It will fetch and unpack the source code.
  2. In the extracted source code, use a git command such as git checkout -b WORK <github® TAG> to point to a new revision of the component.
More rarely STMicroelectronics also delivers fixes on layers through github®. These changes can be integrated (via git commands: git checkout -b WORK <github® commit SHA1>) into the local STM32MP1 Distribution Package environment. See below the github® links of the quoted layers :
  • Get a new Distribution Package:
Refer to Installing_the_OpenSTLinux_distribution page for install instructions, and use the repo command given for the minor version below, if it exists.

8.1 v4.0.2[edit]

  • Update to Yocto 4.0.2
  • BSP update:
Layer name github® commit SHA1 reference
meta-st-stm32mp 00c2494b66b8fa2c0fc2008fa802a2adbeed966e
meta-st-openstlinux cbb3a2e059ca8c66c39cf6c07dc951e793ed2592
meta-st-stm32mp-addons b0b00bc662719341d9ba69460aed03e2bb9ac833
meta-st-scripts 9d87d2ddd0542f67e1f57a543ac5a70bef11f44e
  • New manifest tag available to get the release: 'openstlinux-5.15-yocto-kirkstone-mp1-v22.07.27
repo init -u https://github.com/STMicroelectronics/oe-manifest -b refs/tags/openstlinux-5.15-yocto-kirkstone-mp1-v22.07.27
repo sync

9 How to get started with openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15[edit]

Refer to How to download the software and start with this release?

10 Associated tools[edit]

Refer to the Referenced tools release notes .

11 Features enabled in the delivery[edit]

OpenEmbedded[1] build framework engine is named OE-Core.
OpenSTLinux distribution is based on the build framework OpenEmbedded, and can be configured thanks to a mechanism named "features" (machine features, distribution features, ...).

Depending on features enabled, the resulting distribution can have more capabilities or software embedded.
For example, if wifi is enabled then wifi software and drivers will be present on the filesystem and wifi can be used.

11.1 Machine features[edit]

The variable MACHINE_FEATURES specifies the list of hardware features the machine is capable of supporting.
These features (MACHINE_FEATURES) are defined inside the machine configuration .

Machine feature Purpose
alsa Include ALSA support (OSS compatibility kernel modules installed if available).
autoresize Add support of autoresize through InitRD
bluetooth Add Broadcom43430 (Bluetooth) firmware to the filesystem (STM32MP135x-DK Discovery kit Warning.png and STM32MP157x-DKx Discovery kit More info green.png)
ext2 Add Second Extended File System support
fip Enable Firmware In Package (FIP) packaging format
fw-update Enable Firmware update feature
gpu Add GPU support (if EULA is accepted) (STM32MP157 line More info.png only)
initrd Enable Intial ramdisk building
m4copro Add m4projects to userfs (STM32MP15x lines More info.png only)
optee Add OP-TEE Secure part
pci Add Peripheral Component Interconnect peripheral support
rtc Add Real Time Clock peripheral support
screen Add display screen peripheral support
splashscreen Add splashscreen to U-Boot
tpm2 Add Trusted Platform Module peripheral support
usbg0 Add G0 Firmware for USB support
usbgadget Enable USB Gadget feature
usbhost Enable USB Host feature
watchdog Add watchdog support and binaries
wifi Add Broadcom43430 (wifi) firmware to the filesystem (STM32MP135x-DK Discovery kit Warning.png and STM32MP157x-DKx Discovery kit More info green.png)

11.2 Distribution features[edit]

The variable DISTRO_FEATURES specifies the list of software features present in the distribution.
These features (DISTRO_FEATURES) are defined inside the distribution configuration .

Distribution feature Purpose
alsa Include ALSA support (OSS compatibility kernel modules installed if available).
argp
autoresize Add support of userfs auto resize feature in OpenSTLinux
bluetooth Include Bluetooth support
bluez5 Add Bluetooth stack
efi Add userland EFI tools
ext2 Add Second Extended File System support
ext4 Add Fourth Extended File System support
gobject-introspection-data Enable GObject Introspection, project for providing machine readable introspection data of the API of C libraries.
gplv3 Add gplv3 binaries in OpenSTLinux
gstreamer Add gstreamer tools in filesystem
initrd Add ramdisk
ipv4 Add ipv4 support
ipv6 Add ipv6 support
kde Add several tools (e.g. cups, fontconfig, ...) to the filesystem
largefile Enable large file support
ldconfig Include support for ldconfig and ld.so.conf on the target
multiarch Enable 64 bits BFD (Binary File Descriptor)
nfs Include NFS client support (for mounting NFS exports on device).
opengl Include the Open Graphics Library
optee Install tee service on the filesystem
pam Enable Pluggable Authentication Module
pci Add pci support
polkit Enable PolicyKit for controlling system-wide privileges
pulseaudio Network-capable sound server program
splashscreen Add U-Boot splashscreen
systemd Use systemd as init service
usbgadget USB Gadget Device support (for USB networking/serial/storage)
usbhost USB Host support (allows to connect external keyboard, mouse, storage, network etc)
wayland Add Wayland support
wifi WiFi support
xattr Add "Extended Attributes" support for filesystem
zeroconf Add zeroconf package to set up a ad-hoc network

11.3 Bootscheme labels[edit]

The variable BOOTSCHEME_LABELS defines which kind of boot is supported on the board.
These settings (BOOTSCHEME_LABELS) are defined inside the machine configuration .

Bootscheme label Purpose
optee Add optee in bootscheme
trusted Add trusted in bootscheme

11.4 Bootdevice labels[edit]

The variable BOOTDEVICE_LABELS defines which kind of mass storage OpenSTLinux can programmed.
These settings (BOOTDEVICE_LABELS ) are defined inside the machine configuration .

Bootdevice label Purpose
emmc Add boot on emmc device
nand-4-256 Add boot on NAND device
nor-sdcard Add boot stage on NOR device and the filesystem on SD-Card
sdcard Add boot on SD-Card


<noinclude>

{{ApplicableFor
|MPUs list=STM32MP13x,STM32MP15x
|MPUs checklist=STM32MP13x, STM32MP15x
}}</noinclude>


This article describes the content of '''OpenSTLinux distribution software''' release version '''{{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}''', which is part of [[STM32 MPU ecosystem release note - v4.0.0]].

==Intended audience==
The targeted audience is {{MicroprocessorDevice | device=13}} and {{MicroprocessorDevice | device=15}} customers or partners.

==Delivery scope and purpose==
The '''[[OpenSTLinux distribution]]''' is a Linux<sup>&reg;</sup> distribution based on the OpenEmbedded build Framework. It runs on the '''Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-A7''' processors, and is a fundamental part of the [[STM32MPU Embedded Software distribution]].
This delivery of OpenSTLinux distribution is part of STM32 MPU Ecosystem v4.0.0 (see the [[STM32 MPU ecosystem release note - v4.0.0]]).

==Licensing==
This software package is licensed under a LIMITED LICENSE AGREEMENT FOR ST MATERIALS EVALUATION (LLA). Customers may not use this package except in compliance with the [[LegalInformation:OpenSTLinux licenses - v4.0.0#Top Software license agreement (SLA) and third-party licences|software license agreement (SLA)]].

All of the packages use the same source components. All components and their respective licenses are listed [[LegalInformation:OpenSTLinux licenses - v4.0.0|here]].

==Supported hardware==
This software delivery is compatible with the following boards:
* {{Board | type=135D-DK | name=short}} and {{Board | type=135F-DK | name=short}} Discovery kits of {{MicroprocessorDevice | device=13}}.
* {{Board | type=157A-EV1 | name=short}}''(obsolete)'', {{Board | type=157C-EV1 | name=short}}''(obsolete)'', {{Board | type=157D-EV1 | name=short}} and {{Board | type=157F-EV1 | name=short}} Evaluation boards of {{MicroprocessorDevice | device=15}}.
* {{Board | type=157A-DK1 | name=short}}''(obsolete)'', {{Board | type=157C-DK2 | name=short}}''(obsolete)'', {{Board | type=157D-DK1 | name=short}} and {{Board | type=157F-DK2 | name=short}} Discovery kits of {{MicroprocessorDevice | device=15}}.

==Delivered features==
===Main software components===

* {{EcosystemRelease/Component | revision=4.0.0 | component=Linux kernel}}
* {{EcosystemRelease/Component | revision=4.0.0 | component=TF-A}}
* {{EcosystemRelease/Component | revision=4.0.0 | component=U-Boot}}
* {{EcosystemRelease/Component | revision=4.0.0| component=OP-TEE}}
* {{EcosystemRelease/Component | revision=4.0.0| component=STM32CubeMPU}}
* {{EcosystemRelease/Component | revision=4.0.0| component=OpenEmbedded}}
* Weston version v10.0.0
* Wayland version 1.20.0
* GStreamer version v1.20.1
* GCC version v11.2
* OpenOCD version v0.11.0
* GCnano version v6.4.7

===Detailed features===
====OpenSTLinux layers part====
* Rebase on '''Yocto LTS Release 4.0.1''' ([https://docs.yoctoproject.org/migration-guides/migration-4.0.html#release-notes-for-4-0-kirkstone Kirkstone])
:*Many impacts in recipes
:* Graphic frameworks user change for security reasons (change from Weston community)
* Machine:
:*New '''stm32mp13-disco''' for {{Board | type=135D-DK}} and {{Board | type=135F-DK}}
* Add support of '''Firmware Update''' feature
* Minor fixes
{{Info| From this release OpenSTLinux v4.0.0, '''FIP configuration is the only packaging format supported''' for boot loaders (more about FIP [[TF-A_overview#FIP | here]]) :
:* 0nly TF-A BL2 requires the ''stm32 header'' for a ROM code authentication. Others bootloader binaries are embedded in a FIP container.
:* A dedicated {{highlight|fip-utils-stm32mp.bbclass}} class is provided on '''meta-st-stm32mp layer''' side to manage the FIP image configuration, build and update.}}

====Linux<sup>&reg;</sup> kernel part====

New component release tag [https://github.com/STMicroelectronics/linux/releases/tag/v5.15-stm32mp-r1 v5.15-stm32mp-r1] rebased on official Linux<sup>&reg;</sup> kernel v5.15.24.

Main updates for STMP32MP1:
*CONFIG: {{MicroprocessorDevice | device=13}} and {{MicroprocessorDevice | device=15}} support
*DT: New boards {{Board | type=135F-DK}} and {{Board | type=135D-DK}} support
*FMC nand driver Write Protect(WP) function support
*RTC ALARM TOGGLE
* Minor fixes

{{InternalInfo|
{{MicroprocessorDevice | device=13}}:
:*CPU @1GHZ
:*GalaxyCore camera support
:*MP13 board without crypto ( {{Board | type=135D-DK}})
:*EMMC HS200 
:*USB power delivery STM32G0
}}
{{MicroprocessorDevice | device=15}}:
:*LCD Rocktech RK055MHD042A0-CTG support

====U-boot part====
New component release tag [https://github.com/STMicroelectronics/u-boot/releases/tag/v2021.10-stm32mp-r1 v2021.10-stm32mp-r1] rebased on official U-Boot v2021.10

Main updates for STMP32MP1:
* Device tree alignment with Linux kernel v5.15-stm32mp-r1
* Add STM32MP13x family support
* DDR tuning support removed
* Activate CONFIG_OF_LIVE
* Activate CONFIG_LOG
* Deactivate IPCC driver
* Add Uclass USB typeC and driver for UCSI
* Add USB phy tuning support
* Add NAND Write Protect support
* Add ADC calibration support
* Add TF-A firmware update support
* Update SCMI support for OP-TEE transport
* Add BSEC and stm32prog support with OP-TEE and TA
* ADC calibration in U-Boot
* Other minor updates

{{Info|The U-Boot defconfig to use for ecosystem release ≥ v4.0.0 change to '''stm32mp15_defconfig'''.}}
{{Warning| '''SPL and STM32Image is no more supported''' in OpenSTLinux U-Boot. Migrate to TF-A with '''FIP support''' instead.}}

====TF-A part====
New component release tag [https://github.com/STMicroelectronics/arm-trusted-firmware/releases/tag/v2.6-stm32mp-r1 v2.6-stm32mp-r1] rebased on official TF-A 2.6

Main updates for STM32MP1:
*Rebase OpenSTLinux delivery on official TF-A tag v2.6
*Introduction of STM32MP13 platform
*FIP encryption for STM32MP13
*Firmware Update (FWU) support
*Early console management
*Configurable baudrate for UART
*Serial boot (USB/UART): flashlayout is no more loaded by BL2
*BL2 always boots at 650MHz
*Removal of STM32IMAGE legacy boot
*Minor fixes
{{InternalInfo|
*{{MicroprocessorDevice | device=13}}:
:*New drivers: clocks, PKA, SAES, DDRMCE
}}

====OP-TEE part====
New component release tag [https://github.com/STMicroelectronics/optee_os/releases/tag/3.16.0-stm32mp-r1 3.16.0-stm32mp-r1] rebased on official OP_TEE OS 3.16.0

Main updates for STMP32MP1:
*Introduction of STM32MP13 platform
*OP-TEE Updated driver model based on DT
*New driver probing model based on device tree
*Support IRQ threads
*Fix GIC low-power sequence
*Pinctrl, I2C and clocks are now providers
*Rework HSI/LSI clocks calibration as a PTA
*OTP PTA interface for OTP management
*TA NVMEM for OTP provisionning support
*CRYP/HASH/BSEC/TAMP driver update
*TZC400 full configuration
*RNG connection to HW RNG PTA -> RNG secure by default
*Firewall bus management update
*Backup battery charging
*Replace Python wand with a new supported library
*Support Secured display
*Minor Fixes
*Documentation: Add device tree bindings documentation
{{InternalInfo|
*{{MicroprocessorDevice | device=13}}:
:*New drivers: Clock, PKA, SAES
:*LTDC secure UI
:*SCMI OPP/DVFS support
:*SCMI regulator support (With PMIC and I2C secure)
:*Security extended on all GPIO banks
:*Support 1GHz CPU frequence
:*Handle crypto-free configurations
:*HSE monitoring feature
}}
*{{MicroprocessorDevice | device=15}}:
:*Probe non secure IP management

==Recommendations for use==

===Safe use===
* Flash programming and boot from all supported flash devices: SDCard, eMMC, ONFI NAND and NOR flash memories
* Develop Linux<sup>&reg;</sup> applications, libraries, kernel modules based on OpenSTLinux delivery
* Develop coprocessor Cube applications based on STM32CubeMP1 delivery
* Develop boards based on {{MicroprocessorDevice | device=1}}
* Prototype applications based on ST boards

===Non-recommended use===
* None

==Main restrictions list==
* If Firmware Update is not enable, flashlayout partition no more needed, but storage mapping hardcoded in U-Boot; so either flashlayout keep partitions for Firmware Update feature or U-Boot needs to be updated.

{{Warning|On an Ubuntu 18.04 (with a host gcc version prior to 8.0), U-Boot {{Red|cannot be built}} by using the [[STM32MP1_Developer_Package]] because of the usage of an unsupported option : '''-fmacro-prefix-map''' . }}

==Minor release updates==<section begin=OpenSTLinux_release/>


STMicroelectronics regularly delivers corrections through github<sup>&reg;</sup> components which are [https://github.com/STMicroelectronics/u-boot/ U-Boot], [https://github.com/STMicroelectronics/optee_os OP-TEE], [https://github.com/STMicroelectronics/arm-trusted-firmware TF-A], [https://github.com/STMicroelectronics/linux Linux kernel]. <br>

The corrections can be incorporated into the Developer Package (refer to [[STM32MP1 Developer Package]]) or Distribution Package (see below).<br/>


'''Two possibilities exist to update a Distribution Package:'''
* Update your existing Distribution Package:
:Switch your Distribution Package to # [[OpenSTLinux_distribution#Reference_source_code|  github<sup>&reg;</sup> mode]] .
:# Use the ''' [[OpenEmbedded_-_devtool#devtool_modify|devtool modify]] <recipe name>''' command to set up an environment. It will fetch and  unpack the source code.
:# In the extracted source code, use a git command such as '''git checkout  -b WORK {{HighlightParam|''<github<sup>&reg;</sup> TAG>''}}''' to point to a new revision of the component.
:More rarely STMicroelectronics also delivers fixes on layers through github<sup>&reg;</sup>. These changes can be integrated (via [[git]] commands: '''git checkout  -b WORK {{HighlightParam|''<github<sup>&reg;</sup> commit SHA1>''}}''') into the local [[STM32MP1 Distribution Package]] environment. See below the github<sup>&reg;</sup> links of the quoted layers :
:* [https://github.com/STMicroelectronics/meta-st-stm32mp/ meta-st-stm32mp]
:* [https://github.com/STMicroelectronics/meta-st-openstlinux/ meta-st-openstlinux ]
:* [https://github.com/STMicroelectronics/meta-st-stm32mp-addons/ meta-st-stm32mp-addons]

* Get a new Distribution Package:
:Refer to [[STM32MP1_Distribution_Package#Installing_the_OpenSTLinux_distribution|Installing_the_OpenSTLinux_distribution]] page for install instructions, and use the repo command given for the minor version below, if it exists.
===v4.0.2===
* Update to Yocto 4.0.2
* BSP update:
{|
! Layer name !! github<sup>&reg;</sup> commit SHA1 reference
|-
| meta-st-stm32mp || [https://github.com/STMicroelectronics/meta-st-stm32mp/commit/00c2494b66b8fa2c0fc2008fa802a2adbeed966e 00c2494b66b8fa2c0fc2008fa802a2adbeed966e]
|-
| meta-st-openstlinux || [https://github.com/STMicroelectronics/meta-st-openstlinux/commit/cbb3a2e059ca8c66c39cf6c07dc951e793ed2592 cbb3a2e059ca8c66c39cf6c07dc951e793ed2592]
|-
| meta-st-stm32mp-addons || [https://github.com/STMicroelectronics/meta-st-stm32mp-addons/commit/b0b00bc662719341d9ba69460aed03e2bb9ac833 b0b00bc662719341d9ba69460aed03e2bb9ac833]
|-
| meta-st-scripts || [https://github.com/STMicroelectronics/meta-st-scripts/commit/9d87d2ddd0542f67e1f57a543ac5a70bef11f44e 9d87d2ddd0542f67e1f57a543ac5a70bef11f44e]
|}
* New manifest tag available to get the release: '''openstlinux-5.15-yocto-kirkstone-mp1-v22.07.27''
 repo init -u https://github.com/STMicroelectronics/oe-manifest -b refs/tags/openstlinux-5.15-yocto-kirkstone-mp1-v22.07.27
 repo sync
<section end=OpenSTLinux_release/>


==How to get started with {{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}==
Refer to [[STM32_MPU_ecosystem_release_note_-_v4.0.0#How_to_download_the_software_and_start_with_this_release-3F|How to download the software and start with this release?]]

== Associated tools ==
Refer to the [[STM32 MPU ecosystem release note - v4.0.0#Referenced tools release notes | Referenced tools release notes ]].

==Features enabled in the delivery==
OpenEmbedded<ref>https://www.openembedded.org</ref> build framework engine is named OE-Core. <br />

[[OpenSTLinux distribution]] is based on the build framework OpenEmbedded, and can be configured thanks to a mechanism named "'''features'''" (machine features, distribution features, ...).

Depending on features enabled, the resulting distribution can have more capabilities or software embedded.<br/>

For example, if wifi is enabled then wifi software and drivers will be present on the filesystem and wifi can be used.

===Machine features===
The variable '''MACHINE_FEATURES''' specifies the list of hardware features the machine is capable of supporting. <br />

These features (MACHINE_FEATURES) are defined inside the {{CodeSource | meta-st-stm32mp | conf/machine | machine configuration}}.

{|
|-
! Machine feature !! Purpose
|-
| alsa || Include ALSA support (OSS compatibility kernel modules installed if available).
|-
| autoresize || Add support of autoresize through InitRD
|-
| bluetooth || Add Broadcom43430 (Bluetooth) firmware to the filesystem</br> ({{Board | type=135x-DK}} and {{Board | type=157x-DKx}})
|-
| ext2 || Add Second Extended File System support
|-
| fip || Enable Firmware In Package (FIP) packaging format
|-
| fw-update || Enable Firmware update feature
|-
| gpu || Add GPU support (if EULA is accepted) ({{MicroprocessorDevice | device=157}} only)
|-
| initrd || Enable Intial ramdisk building
|-
| m4copro || Add m4projects to userfs ({{MicroprocessorDevice | device=15}} only)
|-
| optee || Add OP-TEE Secure part
|-
| pci || Add Peripheral Component Interconnect peripheral support 
|-
| rtc || Add Real Time Clock peripheral support
|-
| screen || Add display screen peripheral support
|-
| splashscreen || Add splashscreen to U-Boot
|-
| tpm2 || Add Trusted Platform Module peripheral support
|-
| usbg0 || Add G0 Firmware for USB support 
|-
| usbgadget || Enable USB Gadget feature
|-
| usbhost || Enable USB Host feature
|-
| watchdog || Add watchdog support and binaries
|-
| wifi || Add Broadcom43430 (wifi) firmware to the filesystem</br> ({{Board | type=135x-DK}} and {{Board | type=157x-DKx}})
|-
|}

===Distribution features===
The variable '''DISTRO_FEATURES''' specifies the list of software features present in the distribution.<br />

These features (DISTRO_FEATURES) are defined inside the {{CodeSource | meta-st-openstlinux | conf/distro | distribution configuration}}.

{|
|-
! Distribution feature !! Purpose
|-
| alsa || Include ALSA support (OSS compatibility kernel modules installed if available).
|-
| argp ||
|-
| autoresize  || Add support of userfs auto resize feature in OpenSTLinux
|-
| bluetooth || Include Bluetooth support
|-
| bluez5 || Add Bluetooth stack
|-
| efi  || Add userland EFI tools
|-
| ext2 || Add Second Extended File System support
|-
| ext4 || Add Fourth Extended File System support
|-
| gobject-introspection-data || Enable GObject Introspection, project for providing machine readable introspection data of the API of C libraries.
|-
| gplv3  || Add gplv3 binaries in OpenSTLinux
|-
| gstreamer  || Add gstreamer tools in filesystem
|-
| initrd  || Add ramdisk
|-
| ipv4 || Add ipv4 support
|-
| ipv6 || Add ipv6 support
|-
| kde  || Add several tools (e.g. cups, fontconfig, ...) to the filesystem
|-
| largefile || Enable large file support
|-
| ldconfig || Include support for ldconfig and ld.so.conf on the target
|-
| multiarch || Enable 64 bits BFD (Binary File Descriptor)
|-
| nfs || Include NFS client support (for mounting NFS exports on device).
|-
| opengl || Include the Open Graphics Library
|-
| optee  || Install tee service on the filesystem
|-
| pam  || Enable Pluggable Authentication Module
|-
| pci  || Add pci support
|-
| polkit  || Enable PolicyKit for controlling system-wide privileges
|-
| pulseaudio || Network-capable sound server program
|-
| splashscreen  || Add U-Boot splashscreen
|-
| systemd || Use systemd as init service
|-
| usbgadget || USB Gadget Device support (for USB networking/serial/storage)
|-
| usbhost || USB Host support (allows to connect external keyboard, mouse, storage, network etc)
|-
| wayland || Add Wayland support
|-
| wifi || WiFi support
|-
| xattr || Add "Extended Attributes" support for filesystem
|-
| zeroconf || Add zeroconf package to set up a ad-hoc network
|-
|}

===Bootscheme labels===
The variable '''BOOTSCHEME_LABELS''' defines which kind of boot is supported on the board.<br />

These settings (BOOTSCHEME_LABELS) are defined inside the {{CodeSource | meta-st-stm32mp | conf/machine | machine configuration}}.
{|
|-
! Bootscheme label !! Purpose
|-
| optee || Add optee in bootscheme
|-
| trusted || Add trusted in bootscheme
|-
|}

===Bootdevice labels===
The variable '''BOOTDEVICE_LABELS ''' defines which kind of mass storage OpenSTLinux can programmed.<br />

These settings (BOOTDEVICE_LABELS ) are defined inside the {{CodeSource | meta-st-stm32mp | conf/machine | machine configuration}}.
{|
|-
! Bootdevice label !! Purpose
|-
| emmc || Add boot on emmc  device
|-
| nand-4-256 || Add boot on NAND device
|-
| nor-sdcard || Add boot stage on NOR device and the filesystem on SD-Card
|-
| sdcard || Add boot on SD-Card
|-
|}
<noinclude>

{{PublicationRequestId | 24124 | 2022-07-27 |previous TW review : 19668 2021-04-20}}</noinclude>
Line 189: Line 189:
 
* Get a new Distribution Package:
 
* Get a new Distribution Package:
 
:Refer to [[STM32MP1_Distribution_Package#Installing_the_OpenSTLinux_distribution|Installing_the_OpenSTLinux_distribution]] page for install instructions, and use the repo command given for the minor version below, if it exists.
 
:Refer to [[STM32MP1_Distribution_Package#Installing_the_OpenSTLinux_distribution|Installing_the_OpenSTLinux_distribution]] page for install instructions, and use the repo command given for the minor version below, if it exists.
  +
  +
===v4.0.2===
  +
* Update to Yocto 4.0.2
  +
* BSP update:
  +
{|
  +
! Layer name !! github<sup>&reg;</sup> commit SHA1 reference
  +
|-
  +
| meta-st-stm32mp || [https://github.com/STMicroelectronics/meta-st-stm32mp/commit/00c2494b66b8fa2c0fc2008fa802a2adbeed966e 00c2494b66b8fa2c0fc2008fa802a2adbeed966e]
  +
|-
  +
| meta-st-openstlinux || [https://github.com/STMicroelectronics/meta-st-openstlinux/commit/cbb3a2e059ca8c66c39cf6c07dc951e793ed2592 cbb3a2e059ca8c66c39cf6c07dc951e793ed2592]
  +
|-
  +
| meta-st-stm32mp-addons || [https://github.com/STMicroelectronics/meta-st-stm32mp-addons/commit/b0b00bc662719341d9ba69460aed03e2bb9ac833 b0b00bc662719341d9ba69460aed03e2bb9ac833]
  +
|-
  +
| meta-st-scripts || [https://github.com/STMicroelectronics/meta-st-scripts/commit/9d87d2ddd0542f67e1f57a543ac5a70bef11f44e 9d87d2ddd0542f67e1f57a543ac5a70bef11f44e]
  +
|}
  +
* New manifest tag available to get the release: '''openstlinux-5.15-yocto-kirkstone-mp1-v22.07.27''
  +
repo init -u https://github.com/STMicroelectronics/oe-manifest -b refs/tags/openstlinux-5.15-yocto-kirkstone-mp1-v22.07.27
  +
repo sync
   
 
<section end=OpenSTLinux_release/>
 
<section end=OpenSTLinux_release/>