Difference between revisions of "STM32MP1 Distribution Package - OpenSTLinux distribution"

[unchecked revision] [quality revision]
m
m
Applicable for STM32MP13x lines, STM32MP15x lines

This article aims to give the following information:

  • How to download and install the latest OpenSTLinux distribution for the STM32 microprocessors Series
  • Where to find the associated release note
  • Where to find the previous releases (archives)
Warning white.png Warning
For more specific information, go through the Distribution Package article relative to your STM32 microprocessors Series: Category:Distribution Package

1 STM32MP1-Ecosystem-v4.0.0 release[edit]

  • The STM32MP1 OpenSTLinux distribution is delivered through a manifest repository location and a manifest revision.
  • The installation relies on the repo command. In case the Repo tool (a Google-built repository management tool that runs on top of git) is not yet installed and configured on the host PC, refer to the PC prerequisites article.
  • The OpenSTLinux distribution is massively using open source software (OSS) packages that are downloaded from a variety of open source repositories; so it is required that the IT infrastructure proxies do not forbid such accesses. If some proxy-related issues are suspected, refer to the How to avoid proxy issues article.
  • Install the STM32MP1 OpenSTLinux distribution: openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15
Warning white.png Warning
Please check first if a minor release based on this ecosystem release v4.0.0 More info.png is already published here
Warning white.png Important
Yocto is using absolute directory path to give names to intermediate files. If the path is too long, Yocto build fails because file names exceed the maximum size supported by the file system. In that case, installation directory path should be renamed to reduce the overall absolute path name.
STM32MP1 Distribution Package OpenSTLinux distribution - STM32MP1-Ecosystem-4.0.0 release
Installation
 cd <working directory path>/Distribution-Package
  • Create the OpenSTLinux distribution installation sub-directory:
 mkdir openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15
 cd openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15
  • Initialize repo in the current directory (More details on 'repo init' here).
 repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15

Note: "ERROR 404" may appear during "repo init" command without any impact on the process

  • Synchronize the local project directories with the remote repositories specified in the manifest (more details on 'repo sync' here)
 repo sync


Note: Distribution package needs around 140MB to be installed (and around 25GB once distribution package is compiled).

Release note

Details about the content of this software package are available in the associated STM32 MPU ecosystem release note.

Archive box.png If interested in previous releases, go through the archives of the ecosystem release note.

  • The OpenSTLinux distribution installation directory is in the <Distribution Package installation directory>, and is named openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15:
openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15  OpenSTLinux distribution
├── layers 
│    ├── meta-openembedded                Collection of layers for the OpenEmbedded-Core universe (OpenEmbedded standard)
│    ├── meta-qt5                         QT5 layer for OpenEmbedded (standard)
│    ├── meta-st
│    │   ├── meta-st-openstlinux          STMicroelectronics layer that contains the frameworks and images settings for the OpenSTLinux distribution
│    │   ├── meta-st-stm32mp              STMicroelectronics layer that contains the description of the BSP for the STM32 MPU devices
│    │   │   ├── recipes-bsp
│    │   │   │   ├── alsa                 Recipes for ALSA control configuration
│    │   │   │   ├── drivers              Recipes for Vivante GCNANO GPU kernel drivers
│    │   │   │   ├── trusted-firmware-a   Recipes for TF-A
│    │   │   │   └── u-boot               Recipes for U-Boot
│    │   │   ├── recipes-extended
│    │   │   │   ├── linux-examples       Recipes for Linux examples for STM32 MPU devices
│    │   │   │   ├── m4coredump           Recipes for script to manage coredump of cortexM4 (for STM32MP15x lines More info.png lines)
│    │   │   │   ├── m4projects           Recipes for firmware examples for Cortex M4 (for STM32MP15x lines More info.png lines)
│    │   │   │   └── stm32mp-g0           Recipes for G0 USB firmware (for STM32MP13x lines Warning.png lines)
│    │   │   ├── recipes-graphics
│    │   │   │   ├── gcnano-userland      Recipes for Vivante libraries OpenGL ES, OpenVG and EGL (multi backend)
│    │   │   │   └── [...]
│    │   │   ├── recipes-kernel
│    │   │   │   ├── linux                Recipes for Linux kernel
│    │   │   │   └── linux-firmware       Recipes for Linux firmwares (example, Bluetooth firmware)
│    │   │   ├── recipes-security
│    │   │   │   └── optee                Recipes for OPTEE
│    │   │   ├── recipes-st
│    │   │   │   └── images               Recipes for the bootfs and userfs partitions binaries
│    │   │   └── [...]
│    │   ├── meta-st-stm32mp-addons       STMicroelectronics layer that helps managing the STM32CubeMX integration
│    │   └── scripts
│    │       ├── envsetup.sh              Environment setup script for Distribution Package
│    │       └── [...]
│    └── openembedded-core                Core metadata for current versions of OpenEmbedded (standard)



2 Archives Archive box.png[edit]

This wiki is for the v4 ecosystem releases. For information about the previous ecosystem releases, go through the Wiki archives.

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


This article aims to give the following information:
* How to download and install the '''latest''' OpenSTLinux distribution for the STM32 microprocessors Series
* Where to find the associated release note
* Where to find the previous releases (archives)

{{Warning|For more specific information, go through the Distribution Package article relative to your STM32 microprocessors Series: [[:Category:Distribution Package]]}}

==STM32MP1-Ecosystem-v4.0.0 release==<onlyinclude>


* The STM32MP1 OpenSTLinux distribution is delivered through a manifest repository location and a manifest revision.
* The installation relies on the ''repo'' command. In case the Repo tool (a Google-built repository management tool that runs on top of git) is not yet installed and configured on the host PC, refer to the [[PC prerequisites]] article.
* The OpenSTLinux distribution is massively using open source software (OSS) packages that are downloaded from a variety of open source repositories; so it is required that the IT infrastructure proxies do not forbid such accesses. If some proxy-related issues are suspected, refer to the [[How to avoid proxy issues]] article.
* Install the STM32MP1 OpenSTLinux distribution: '''{{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}'''
{{Warning|Please check first if {{Highlight|a minor release}} based on this {{EcosystemRelease | revision=4.0.0}} is already published [[STM32_MPU_OpenSTLinux_release_note_-_v4.0.0#Minor_release_updates | here]]}}

{{Important|Yocto is using absolute directory path to give names to intermediate files. If the path is too long, Yocto build fails because file names exceed the maximum size supported by the file system. In that case, installation directory path should be renamed to reduce the overall absolute path name.}}

{| class="st-table"
|-
!  !! style="text-align:center;" |STM32MP1 Distribution Package OpenSTLinux distribution - STM32MP1-Ecosystem-4.0.0 release
|-
| Installation || <span id="Download"></span>

* Go to the host PC directory where to install the Distribution Package (''<Distribution Package installation directory>''). Example, if following the [[Example of directory structure for Packages|proposition to organize the working directory]]:
 {{PC$}} cd {{HighlightParam|''<working directory path>''}}/Distribution-Package

* Create the OpenSTLinux distribution installation sub-directory:
 {{PC$}} mkdir {{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}
 {{PC$}} cd {{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}

* Initialize repo in the current directory (More details on 'repo init' [https://source.android.com/setup/develop/repo#init here]).
 {{PC$}} repo init -u {{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=url}} -b refs/tags/{{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}
{{ReviewsComments|ESZ W2234: People follow by default this step to get manifest, then the baseline. With v4.0.0, an error brought a lot of topic on ST Community forum. This correction has been done in v4.0.2, however, people still open topics because they do not see the new v4.0.2 and they have nowhere to see that their issue has been corrected. How can we tackle this ? Can we add a note here ?<br>

JPR 22w37:Is it ok with adding the warning section above? }}
'''Note:''' "ERROR 404" may appear during "repo init" command without any impact on the process <br>


* Synchronize the local project directories with the remote repositories specified in the manifest (more details on 'repo sync' [https://source.android.com/setup/develop/repo#sync here])<br>

 {{PC$}} repo sync

'''Note:''' ''Distribution package'' needs around 140MB to be installed (and around 25GB once ''distribution package'' is compiled).<br>


|-
| Release note ||
Details about the content of this software package are available in the '''associated''' [[STM32 MPU ecosystem release note - v4.0.0|STM32 MPU ecosystem release note]].

[[File:Archive_box.png|25px|link=]] If interested in previous releases, go through the [[STM32MP1_Distribution_Package_-_OpenSTLinux_distribution#Archives| archives]] of the ecosystem release note.
|}

* The '''OpenSTLinux distribution installation directory''' is in the ''<Distribution Package installation directory>, and is named ''{{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}'':

 {{Green|{{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}}}  {{Highlight|OpenSTLinux distribution}}
 ├── {{Green|layers}} 
 │    ├── {{Green|meta-openembedded}}                {{Highlight|Collection of layers for the OpenEmbedded-Core universe ([[OpenEmbedded]] standard)}}
 │    ├── {{Green|meta-qt5}}                         {{Highlight|QT5 layer for OpenEmbedded (standard)}}
 │    ├── {{Green|meta-st}}
 │    │   ├── {{Green|meta-st-openstlinux}}          {{Highlight|STMicroelectronics layer that contains the frameworks and images settings for the OpenSTLinux distribution}}
 │    │   ├── {{Green|meta-st-stm32mp}}              {{Highlight|STMicroelectronics layer that contains the description of the BSP for the STM32 MPU devices}}
 │    │   │   ├── {{Green|recipes-bsp}}
 │    │   │   │   ├── {{Green|alsa}}                 {{Highlight|Recipes for ALSA control configuration}}
 │    │   │   │   ├── {{Green|drivers}}              {{Highlight|Recipes for Vivante GCNANO GPU kernel drivers}}
 │    │   │   │   ├── {{Green|trusted-firmware-a}}   {{Highlight|Recipes for TF-A}}
 │    │   │   │   └── {{Green|u-boot}}               {{Highlight|Recipes for U-Boot}}
 │    │   │   ├── {{Green|recipes-extended}}
 │    │   │   │   ├── {{Green|linux-examples}}       {{Highlight|Recipes for Linux examples for STM32 MPU devices}}
 │    │   │   │   ├── {{Green|m4coredump}}           {{Highlight|Recipes for script to manage coredump of cortexM4 (for {{MicroprocessorDevice | device=15}} lines)}}
 │    │   │   │   ├── {{Green|m4projects}}           {{Highlight|Recipes for firmware examples for Cortex M4 (for {{MicroprocessorDevice | device=15}} lines)}}
 │    │   │   │   └── {{Green|stm32mp-g0}}           {{Highlight|Recipes for G0 USB firmware (for {{MicroprocessorDevice | device=13}} lines)}}
 │    │   │   ├── {{Green|recipes-graphics}}
 │    │   │   │   ├── {{Green|gcnano-userland}}      {{Highlight|Recipes for Vivante libraries OpenGL ES, OpenVG and EGL (multi backend)}}
 │    │   │   │   └── [...]
 │    │   │   ├── {{Green|recipes-kernel}}
 │    │   │   │   ├── {{Green|linux}}                {{Highlight|Recipes for Linux kernel}}
 │    │   │   │   └── {{Green|linux-firmware}}       {{Highlight|Recipes for Linux firmwares (example, Bluetooth firmware)}}
 │    │   │   ├── {{Green|recipes-security}}
 │    │   │   │   └── {{Green|optee}}                {{Highlight|Recipes for OPTEE}}
 │    │   │   ├── {{Green|recipes-st}}
 │    │   │   │   └── {{Green|images}}               {{Highlight|Recipes for the ''bootfs'' and ''userfs'' partitions binaries}}
 │    │   │   └── [...]
 │    │   ├── {{Green|meta-st-stm32mp-addons}}       {{Highlight|STMicroelectronics layer that helps managing the STM32CubeMX integration}}
 │    │   └── {{Green|scripts}}
 │    │       ├── envsetup.sh              {{Highlight|'''Environment setup script''' for Distribution Package}}
 │    │       └── [...]
 │    └── {{Green|openembedded-core}}                {{Highlight|Core metadata for current versions of [[OpenEmbedded]] (standard)}}

{{InternalInfo| Additional layer for internal usage
└── st-hands-on  STMicroelectronics layer that contains the reference source code for the hands-on
}}</onlyinclude>


==Archives [[File:Archive_box.png|25px|link=]]==
{{EcosystemFlow/Archives}}

{{NoIndex}}
[[Category:Sub-articles]]
{{UpdateNeededForNewRelease|
* Copy the current release (first chapter) in the "Archives" chapter
* Make the following modifications in this copy:
** Change the "Download" span id to "Download <name of the old release>" (example: "Download STM32MP15-Ecosystem-v1.0.0 release")
* Make the following modifications in the first chapter:
** Change the name of the manifest file
** Change the link to the release note
** Change the path and the description of the installation directory
}}
Line 36: Line 36:
 
* Initialize repo in the current directory (More details on 'repo init' [https://source.android.com/setup/develop/repo#init here]).
 
* Initialize repo in the current directory (More details on 'repo init' [https://source.android.com/setup/develop/repo#init here]).
 
  {{PC$}} repo init -u {{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=url}} -b refs/tags/{{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}
 
  {{PC$}} repo init -u {{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=url}} -b refs/tags/{{EcosystemRelease/Package | revision=4.0.0 | package=OpenSTLinux distribution | request=name}}
 
{{ReviewsComments|ESZ W2234: People follow by default this step to get manifest, then the baseline. With v4.0.0, an error brought a lot of topic on ST Community forum. This correction has been done in v4.0.2, however, people still open topics because they do not see the new v4.0.2 and they have nowhere to see that their issue has been corrected. How can we tackle this ? Can we add a note here ?<br>
 
JPR 22w37:Is it ok with adding the warning section above? }}
 
   
 
'''Note:''' "ERROR 404" may appear during "repo init" command without any impact on the process <br>
 
'''Note:''' "ERROR 404" may appear during "repo init" command without any impact on the process <br>