Last edited 3 years ago

Example of directory structure for Packages: Difference between revisions

Registered User
Registered User
mNo edit summary
 
(17 intermediate revisions by 3 users not shown)
Line 8: Line 8:
{{info|The objective of this article is to describe one organization among all the possible organizations. Feel free to organize the delivered Packages in any other way that would better match your way of working.}}
{{info|The objective of this article is to describe one organization among all the possible organizations. Feel free to organize the delivered Packages in any other way that would better match your way of working.}}


{{info|In practice, this article uses the release '''STM32MP15-Ecosystem-v1.2.0''' for the STM32MPU Embedded Software distribution as an example to illustrate the proposed organization. If you are using a different release, the names of the directories and files might differ.}}{{UpdateNeededForNewRelease|The trees below shall be updated periodically, even if the information banner specifies that they might not be up-to-date}}
{{info|In practice, this article uses the release '''STM32MP15-Ecosystem-v{{EcosystemRelease/Revision | revision=latest}}''' for the STM32MPU Embedded Software distribution as an example to illustrate the proposed organization. If you are using a different release, the names of the directories and files might differ.}}{{UpdateNeededForNewRelease|The trees below shall be updated periodically, even if the information banner specifies that they might not be up-to-date}}




Line 15: Line 15:
==Creating the structure==
==Creating the structure==
* Create your <working directory> and assign a unique name to it (for example by including the release name):
* Create your <working directory> and assign a unique name to it (for example by including the release name):
  {{PC$}} mkdir STM32MP15-Ecosystem-v1.2.0
  {{PC$}} mkdir STM32MP15-Ecosystem-v{{EcosystemRelease/Revision | revision=latest}}
  {{PC$}} cd STM32MP15-Ecosystem-v1.2.0
  {{PC$}} cd STM32MP15-Ecosystem-v{{EcosystemRelease/Revision | revision=latest}}
* Create the first-level directories that will host the software packages delivered through the STM32MPU Embedded Software distribution release note:
* Create the first-level directories that will host the software packages delivered through the STM32MPU Embedded Software distribution release note:
  {{PC$}} mkdir Starter-Package
  {{PC$}} mkdir Starter-Package
Line 22: Line 22:
  {{PC$}} mkdir Distribution-Package
  {{PC$}} mkdir Distribution-Package
* The resulting directory structure looks as follows:
* The resulting directory structure looks as follows:
  {{Green|STM32MP15-Ecosystem-v1.2.0}}  {{Highlight|STM32MPU Embedded Software release}}
  {{Green|STM32MP15-Ecosystem-v{{EcosystemRelease/Revision | revision=latest}}}}  {{Highlight|STM32MPU Embedded Software release}}
  ├── {{Green|Developer-Package}}      {{Highlight|Developer Package installation directory}}
  ├── {{Green|Developer-Package}}      {{Highlight|Developer Package installation directory}}
  ├── {{Green|Distribution-Package}}    {{Highlight|Distribution Package installation directory}}
  ├── {{Green|Distribution-Package}}    {{Highlight|Distribution Package installation directory}}
Line 28: Line 28:


Once all software packages have been installed according to the instructions given in the STM32MPU Embedded Software distribution release note, the resulting directory structure looks as follows:
Once all software packages have been installed according to the instructions given in the STM32MPU Embedded Software distribution release note, the resulting directory structure looks as follows:
  {{Green|STM32MP15-Ecosystem-v1.2.0}}                          {{Highlight|STM32MPU Embedded Software release}}
  {{Green|STM32MP15-Ecosystem-v{{EcosystemRelease/Revision | revision=latest}}}}                          {{Highlight|STM32MPU Embedded Software release}}
  ├── {{Green|Developer-Package}}                                {{Highlight|Developer Package installation directory}}
  ├── {{Green|Developer-Package}}                                {{Highlight|Developer Package installation directory}}
  │  ├── {{Green|SDK}}                                          {{Highlight|SDK for OpenSTLinux distribution}}
  │  ├── {{Green|SDK}}                                          {{Highlight|SDK for OpenSTLinux distribution}}
  │  ├── {{Green|STM32Cube_FW_MP1_V1.2.0}}                      {{Highlight|STM32CubeMP1 Package}}
  │  ├── {{Green|{{EcosystemRelease/Package | revision=latest | package=STM32CubeMP1 | request=path}}}}                      {{Highlight|STM32CubeMP1 Package}}
  │  └── {{Green|stm32mp1-openstlinux-20-02-19}}  {{Highlight|Linux kernel, U-Boot, TF-A and OP-TEE OS source code (OpenSTLinux distribution)}}
  │  └── {{Green|stm32mp1-{{EcosystemRelease/Package | revision=latest | package=OpenSTLinux distribution | request=name}}}}  {{Highlight|Linux kernel, U-Boot, TF-A and OP-TEE OS source code (OpenSTLinux distribution)}}
  ├── {{Green|Distribution-Package}}                            {{Highlight|Distribution Package installation directory}}
  ├── {{Green|Distribution-Package}}                            {{Highlight|Distribution Package installation directory}}
  │  └── {{Green|stm32mp1-openstlinux-20-02-19}}  {{Highlight|OpenSTLinux distribution (full source code and OpenEmbedded-based build framework)}}
  │  └── {{Green|stm32mp1-{{EcosystemRelease/Package | revision=latest | package=OpenSTLinux distribution | request=name}}}}  {{Highlight|OpenSTLinux distribution (full source code and OpenEmbedded-based build framework)}}
  └── {{Green|Starter-Package}}                                  {{Highlight|Starter Package installation directory}}
  └── {{Green|Starter-Package}}                                  {{Highlight|Starter Package installation directory}}
     └── {{Green|stm32mp1-openstlinux-20-02-19}}  {{Highlight|Software image (binaries)}}
     └── {{Green|stm32mp1-{{EcosystemRelease/Package | revision=latest | package=OpenSTLinux distribution | request=name}}}}  {{Highlight|Software image (binaries)}}


==Focus on the Starter Package directory==
==Focus on the Starter Package directory==
The ''Starter-Package'' directory contains the software image for the STM32MPU Embedded Software distribution.
The ''Starter-Package'' directory contains the software image for the STM32MPU Embedded Software distribution.


The trusted boot chain is the default solution delivered by STMicroelectronics. It includes the superset of features (for example, all Flash memory devices are supported). The basic boot chain is also upstreamed by STMicroelectronics, with a limited number of features (for example microSD card memory boot only). Refer to the [[Boot chains overview]] article for details.
The trusted boot chain is the default solution delivered by STMicroelectronics. It includes the superset of features (for example, all Flash memory devices are supported). The basic boot chain is also upstreamed by STMicroelectronics, with a limited number of features (for example microSD card memory boot only). Refer to the [[Boot chain overview]] article for details.


Flash memory partitions (e.g. rootfs, bootfs...) are explained in the [[STM32MP15 Flash mapping]] article.
Flash memory partitions (e.g. rootfs, bootfs...) are explained in the [[STM32MP15 Flash mapping]] article.
Line 47: Line 47:


  {{Green|Starter-Package}}
  {{Green|Starter-Package}}
  └── {{Green|stm32mp1-openstlinux-20-02-19}}
  └── {{Green|stm32mp1-{{EcosystemRelease/Package | revision=latest | package=OpenSTLinux distribution | request=name}} }}
     └── {{Green|images}}
     └── {{Green|images}}
         └── {{Green|stm32mp1}}
         └── {{Green|stm32mp1}}
             ├── {{Green|flashlayout_st-image-weston}}                                {{Highlight|Flash layout files (description of the partitions) for the supported Flash devices and boards}}
             ├── {{Green|flashlayout_st-image-weston}}                                {{Highlight|Flash layout files (description of the partitions) for the supported Flash devices and boards}}
             │  ├── FlashLayout_emmc_stm32mp157c-ev1-optee.tsv              {{Highlight|Flash layout file for eMMC and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
             │  ├── FlashLayout_emmc_stm32mp157f-ev1-optee.tsv              {{Highlight|Flash layout file for eMMC and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1}}
             │  ├── FlashLayout_emmc_stm32mp157c-ev1-trusted.tsv            {{Highlight|Flash layout file for eMMC and trusted boot chain → STM32MP157C-EV1}}
             │  ├── FlashLayout_emmc_stm32mp157f-ev1-trusted.tsv            {{Highlight|Flash layout file for eMMC and trusted boot chain → STM32MP157F-EV1}}
             │  ├── FlashLayout_nand-4-256_stm32mp157c-ev1-optee.tsv        {{Highlight|Flash layout file for NAND Flash and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
             │  ├── FlashLayout_sdcard_stm32mp157f-dk2-basic.tsv            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157F-DK2}}
            │  ├── FlashLayout_nand-4-256_stm32mp157c-ev1-trusted.tsv      {{Highlight|Flash layout file for NAND Flash and trusted boot chain → STM32MP157C-EV1}}
             │  ├── FlashLayout_sdcard_stm32mp157f-dk2-optee.tsv            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157F-DK2}}
            │  ├── FlashLayout_nor-emmc_stm32mp157c-ev1-optee.tsv          {{Highlight|Flash layout file for NOR Flash (and eMMC) and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
             │  ├── FlashLayout_sdcard_stm32mp157f-dk2-trusted.tsv          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157F-DK2}}
            │  ├── FlashLayout_nor-emmc_stm32mp157c-ev1-trusted.tsv        {{Highlight|Flash layout file for NOR Flash (and eMMC) and trusted boot chain → STM32MP157C-EV1}}
             │  ├── FlashLayout_sdcard_stm32mp157f-dk2-extensible.tsv      {{Highlight|Flash layout file for microSD card with no userfs partition but a rootfs partition extended to sdcard size (recommended setup for [[Package_repository_for_OpenSTLinux_distribution|package repository]] service) → STM32MP157F-DK2}}
            │  ├── FlashLayout_nor-nand-4-256_stm32mp157c-ev1-optee.tsv    {{Highlight|Flash layout file for NOR Flash (and NAND Flash) and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
             │  └── [...]
            │  ├── FlashLayout_nor-nand-4-256_stm32mp157c-ev1-trusted.tsv  {{Highlight|Flash layout file for NOR Flash (and NAND Flash) and trusted boot chain → STM32MP157C-EV1}}
            ├── {{Green|fip}}
            │  ├── FlashLayout_nor-sdcard_stm32mp157c-ev1-optee.tsv        {{Highlight|Flash layout file for NOR Flash (and microSD card) and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
             │   ├── fip-''<board>''-''<boot-type>''.bin            {{Highlight|Image to flash}}          
            │  ├── FlashLayout_nor-sdcard_stm32mp157c-ev1-trusted.tsv      {{Highlight|Flash layout file for NOR Flash (and microSD card) and trusted boot chain → STM32MP157C-EV1}}
             ├── {{Green|arm-trusted-firmware}}
            │  ├── FlashLayout_sdcard_stm32mp157a-dk1-basic.tsv            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157A-DK1}}
             │   ├── tf-a-''<board>''-''<boot-type>''.stm32          {{Highlight|Intermediate tf-a binary used to build fip image}}
             │  ├── FlashLayout_sdcard_stm32mp157a-dk1-optee.tsv            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157A-DK1}}
            ├── {{Green|u-boot}}
             │  ├── FlashLayout_sdcard_stm32mp157a-dk1-trusted.tsv          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157A-DK1}}
             │   ├── u-boot-nodtb-''soc''.bin                    {{Highlight|Intermediate tf-a binary used to build fip image}}
             │  ├── FlashLayout_sdcard_stm32mp157a-dk1-extensible.tsv      {{Highlight|Flash layout file for microSD card with no userfs partition but a rootfs partition extended to sdcard size (recommended setup for [[Package_repository_for_OpenSTLinux_distribution|package repository]] service) → STM32MP157A-DK1}}
             │   ├── u-boot-''<board>''-''<boot-type>''.dtb          {{Highlight|Intermediate tf-a dtb used to build fip image}}
             │  ├── FlashLayout_sdcard_stm32mp157c-dk2-basic.tsv            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157C-DK2}}
             ├── {{Green|optee}}
             │  ├── FlashLayout_sdcard_stm32mp157c-dk2-optee.tsv            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157C-DK2}}
            │   ├── tee-header_v2-''<board>''.bin
             │  ├── FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157C-DK2}}
            ​│   ├── tee-pageable_v2--''<board>''.bin
             │  ├── FlashLayout_sdcard_stm32mp157c-dk2-extensible.tsv      {{Highlight|Flash layout file for microSD card with no userfs partition but a rootfs partition extended to sdcard size (recommended setup for [[Package_repository_for_OpenSTLinux_distribution|package repository]] service) → STM32MP157C-DK2}}
            ​ │   ├── tee-pager_v2--''<board>''.bin
             │  ├── FlashLayout_sdcard_stm32mp157c-ev1-basic.tsv            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157C-EV1}}
            ├── {{Green|kernel}}
             │  ├── FlashLayout_sdcard_stm32mp157c-ev1-optee.tsv            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
            │   ├── vmlinux                                {{Highlight|vmlinux copied in bootfs partition}}
             │  └── FlashLayout_sdcard_stm32mp157c-ev1-trusted.tsv          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157C-EV1}}
             ├── {{Green|scripts}}
             ├── {{Green|scripts}}
             │  └── create_sdcard_from_flashlayout.sh
             │  └── create_sdcard_from_flashlayout.sh
Line 83: Line 82:
             ├── st-image-weston-openstlinux-weston-stm32mp1-license_content.html
             ├── st-image-weston-openstlinux-weston-stm32mp1-license_content.html
             ├── st-image-weston-openstlinux-weston-stm32mp1.manifest
             ├── st-image-weston-openstlinux-weston-stm32mp1.manifest
             ├── st-image-weston-openstlinux-weston-stm32mp1_nand_4_256_multivolume.ubi
             └── [...]
            ├── tee-[header/pageable/pager]_v2-stm32mp157a-dk1-optee.stm32  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157A-DK1}}
            ├── tee-[header/pageable/pager]_v2-stm32mp157c-dk2-optee.stm32  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157C-DK2}}
            ├── tee-[header/pageable/pager]_v2-stm32mp157c-ev1-optee.stm32  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157C-EV1}}
            ├── tf-a-stm32mp157a-dk1-optee.stm32                            {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1}}
            ├── tf-a-stm32mp157a-dk1-trusted.stm32                          {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157A-DK1}}
            ├── tf-a-stm32mp157c-dk2-optee.stm32                            {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-DK2}}
            ├── tf-a-stm32mp157c-dk2-trusted.stm32                          {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157C-DK2}}
            ├── tf-a-stm32mp157c-ev1-optee.stm32                            {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-EV1}}
            ├── tf-a-stm32mp157c-ev1-trusted.stm32                          {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157C-EV1}}
            ├── u-boot-spl.stm32-stm32mp157a-dk1-basic                      {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157A-DK1}}
            ├── u-boot-spl.stm32-stm32mp157c-dk2-basic                      {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157C-DK2}}
            ├── u-boot-spl.stm32-stm32mp157c-ev1-basic                      {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157C-EV1}}
            ├── u-boot-stm32mp157a-dk1-basic.img                            {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157A-DK1}}
            ├── u-boot-stm32mp157a-dk1-optee.stm32                          {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1}}
            ├── u-boot-stm32mp157a-dk1-trusted.stm32                        {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157A-DK1}}
            ├── u-boot-stm32mp157c-dk2-basic.img                            {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157C-DK2}}
            ├── u-boot-stm32mp157c-dk2-optee.stm32                          {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-DK2}}
            ├── u-boot-stm32mp157c-dk2-trusted.stm32                        {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157C-DK2}}
            ├── u-boot-stm32mp157c-ev1-basic.img                            {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157C-EV1}}
            ├── u-boot-stm32mp157c-ev1-optee.stm32                          {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-EV1}}
            └── u-boot-stm32mp157c-ev1-trusted.stm32                        {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157C-EV1}}


==Focus on the Developer Package directory==
==Focus on the Developer Package directory==
Line 129: Line 107:
  │  └── version-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
  │  └── version-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi


  ├── {{Green|STM32Cube_FW_MP1_V''X.Y.Z''}}            {{Highlight|'''STM32CubeMP1 Package''': details in [[STM32CubeMP1 Package#STM32CubeMP1 Package Content|STM32CubeMP1 Package content]] article}}
  ├── {{Green|{{EcosystemRelease/Package | revision=latest | package=STM32CubeMP1 | request=path}}}}            {{Highlight|'''STM32CubeMP1 Package''': details in [[STM32CubeMP1 Package#STM32CubeMP1 Package Content|STM32CubeMP1 Package content]] article}}
  │  ├── {{Green|Drivers}}
  │  ├── {{Green|Drivers}}
  │  │  ├── {{Green|BSP}}                        {{Highlight|BSP drivers for the supported STM32MPU boards}}
  │  │  ├── {{Green|BSP}}                        {{Highlight|BSP drivers for the supported STM32MPU boards}}
Line 145: Line 123:
  │  ├── {{Green|Projects}}
  │  ├── {{Green|Projects}}
  │  │  ├── STM32CubeProjectsList.html  {{Highlight|List of examples and applications for STM32CubeMP1 Package}}
  │  │  ├── STM32CubeProjectsList.html  {{Highlight|List of examples and applications for STM32CubeMP1 Package}}
  │  │  ├── {{Green|STM32MP157C-DK2}}            {{Highlight|Set of examples and applications → STM32MP157C-DK2}}
  │  │  ├── {{Green|STM32MP157F-DK2}}            {{Highlight|Set of examples and applications → STM32MP157F-DK2}}
  │  │  │  └── [...]
  │  │  │  └── [...]
  │  │  └── {{Green|STM32MP157C-EV1}}            {{Highlight|Set of examples and applications → STM32MP157C-EV1}}
  │  │  └── {{Green|STM32MP157F-EV1}}            {{Highlight|Set of examples and applications → STM32MP157F-EV1}}
  │  │      └── [...]
  │  │      └── [...]
  │  ├── Readme.md
  │  ├── Readme.md
Line 154: Line 132:
  │      └── [...]
  │      └── [...]


  └── {{Green|stm32mp1-openstlinux-20-02-19}}    {{Highlight|Source code for OpenSTLinux distribution}}
  └── {{Green|stm32mp1-{{EcosystemRelease/Package | revision=latest | package=OpenSTLinux distribution | request=name}}}}    {{Highlight|Source code for OpenSTLinux distribution}}
     ├── {{Green|images}}
     ├── {{Green|images}}
     │  └── {{Green|stm32mp1}}                                {{Highlight|'''Debug symbol files installation directory'''}}
     │  └── {{Green|stm32mp1}}                                {{Highlight|'''Debug symbol files installation directory'''}}
Line 162: Line 140:
     │      ├── u-boot-stm32mp157a-dk1-optee.elf    {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157A-DK1}}
     │      ├── u-boot-stm32mp157a-dk1-optee.elf    {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157A-DK1}}
     │      ├── u-boot-stm32mp157a-dk1-trusted.elf  {{Highlight|Debug symbol file for U-Boot → STM32MP157A-DK1}}
     │      ├── u-boot-stm32mp157a-dk1-trusted.elf  {{Highlight|Debug symbol file for U-Boot → STM32MP157A-DK1}}
     │      ├── u-boot-stm32mp157c-dk2-optee.elf    {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157C-DK2}}
     │      ├── u-boot-stm32mp157f-dk2-optee.elf    {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157F-DK2}}
     │      ├── u-boot-stm32mp157c-dk2-trusted.elf  {{Highlight|Debug symbol file for U-Boot → STM32MP157C-DK2}}
     │      ├── u-boot-stm32mp157f-dk2-trusted.elf  {{Highlight|Debug symbol file for U-Boot → STM32MP157F-DK2}}
     │      ├── u-boot-stm32mp157c-ev1-optee.elf    {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157C-EV1}}
     │      ├── u-boot-stm32mp157f-ev1-optee.elf    {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157F-EV1}}
     │      ├── u-boot-stm32mp157c-ev1-trusted.elf  {{Highlight|Debug symbol file for U-Boot → STM32MP157C-EV1}}
     │      ├── u-boot-stm32mp157f-ev1-trusted.elf  {{Highlight|Debug symbol file for U-Boot → STM32MP157F-EV1}}
     │      └── vmlinux                            {{Highlight|Debug symbol file for Linux kernel}}
     │      ├── vmlinux                            {{Highlight|Debug symbol file for Linux kernel}}
    │      └── [...]


     └── {{Green|sources}}
     └── {{Green|sources}}
         └── {{Green|arm-openstlinux_weston-linux-gnueabi}}
         └── {{Green|arm-ostl-linux-gnueabi}}
             ├── {{Green|linux-stm32mp-''X.Y-rR''}}    {{Highlight|'''Linux kernel installation directory'''}}
             ├── {{Green|'''FIP_artifacts'''
            ├── fip/                    {{Highlight|fip images of Stater Package}}
            ├── arm-trusted-firmware/   {{Highlight|intermediate tf-a binaries from Stater Package (needed to build any fip image}}
            ├── optee/                  {{Highlight|intermediate optee binaries from Stater Package (needed to build any fip image}}
            └── u-boot/                  {{Highlight|intermediate u-boot binaries from Stater Package (needed to build any fip image}}}}
 
            ├── {{Green|{{EcosystemRelease/Package | revision=latest | package=Linux kernel source | request=path}}
             │  ├── [*].patch            {{Highlight|ST patches for Linux kernel}}
             │  ├── [*].patch            {{Highlight|ST patches for Linux kernel}}
             │  ├── fragment-[*].config  {{Highlight|ST configuration fragments for Linux kernel}}
             │  ├── fragment-[*].config  {{Highlight|ST configuration fragments for Linux kernel}}
             │  ├── {{Green|linux-''X.Y.Z''}}        {{Highlight|'''Linux kernel source code directory'''}}
             │  ├── {{Green|{{EcosystemRelease/Package | revision=latest| package=Linux kernel source | request=path}}}}        {{Highlight|'''Linux kernel source code directory'''}}
             │  ├── linux-''X.Y.Z''.tar.xz
             │  ├── {{EcosystemRelease/Package | revision=latest | package=Linux kernel source | request=name}}
             │  ├── README.HOW_TO.txt    {{Highlight|Helper file for Linux kernel management: '''reference''' for Linux kernel build}}
             │  ├── README.HOW_TO.txt    {{Highlight|Helper file for Linux kernel management: '''reference''' for Linux kernel build}}
             │  └── series
             │  └── series


             ├── {{Green|optee-os-stm32mp-''X.Y.Z-rR''}}  {{Highlight|'''OP-TEE OS installation directory'''}}
             ├── {{Green|{{EcosystemRelease/Package | revision=latest| package=OP-TEE source  | request=path}}}}  {{Highlight|'''OP-TEE OS installation directory'''}}
             │  ├── [*].patch              {{Highlight|ST patches for OP-TEE OS}}
             │  ├── [*].patch              {{Highlight|ST patches for OP-TEE OS}}
             │  ├── ''X.Y.Z''.tar.gz
             │  ├── {{EcosystemRelease/Package | revision=latest| package=OP-TEE source | request=path}}
             │  ├── Makefile.sdk          {{Highlight|Makefile for the OP-TEE OS compilation}}
             │  ├── Makefile.sdk          {{Highlight|Makefile for the OP-TEE OS compilation}}
             │  ├── {{Green|optee_os-''X.Y.Z''}}        {{Highlight|'''OP-TEE OS source code directory'''}}
             │  ├── {{Green|{{EcosystemRelease/Package | revision=latest| package=OP-TEE source | request=name}}}}        {{Highlight|'''OP-TEE OS source code directory'''}}
             │  ├── README.HOW_TO.txt      {{Highlight|Helper file for OP-TEE OS management: '''reference''' for OP-TEE OS build}}
             │  ├── README.HOW_TO.txt      {{Highlight|Helper file for OP-TEE OS management: '''reference''' for OP-TEE OS build}}
             │  └── series
             │  └── series


             ├── {{Green|tf-a-stm32mp-''X.Y-rR''}}          {{Highlight|'''TF-A installation directory'''}}
             ├── {{Green|{{EcosystemRelease/Package | revision=latest| package=TF-A source | request=path}}}}          {{Highlight|'''TF-A installation directory'''}}
             │  ├── [*].patch                {{Highlight|ST patches for TF-A}}
             │  ├── [*].patch                {{Highlight|ST patches for TF-A}}
             │  ├── {{Green|arm-trusted-firmware-''X.Y''}}  {{Highlight|'''TF-A source code directory'''}}
             │  ├── {{Green|{{EcosystemRelease/Package | revision=latest| package=TF-A source | request=path}}}}  {{Highlight|'''TF-A source code directory'''}}
             │  ├── Makefile.sdk              {{Highlight|Makefile for the TF-A compilation}}
             │  ├── Makefile.sdk              {{Highlight|Makefile for the TF-A compilation}}
             │  ├── README.HOW_TO.txt        {{Highlight|Helper file for TF-A management: '''reference''' for TF-A build}}
             │  ├── README.HOW_TO.txt        {{Highlight|Helper file for TF-A management: '''reference''' for TF-A build}}
             │  ├── series
             │  ├── series
             │  └── v''X.Y''.tar.gz
             │  └── {{EcosystemRelease/Package | revision=latest| package=TF-A source | request=name}}


             └── {{Green|u-boot-stm32mp-''YYYY.MM-rR''}}  {{Highlight|'''U-Boot installation directory'''}}
             └── {{Green|{{EcosystemRelease/Package | revision=latest| package=U-Boot source | request=path}}}}  {{Highlight|'''U-Boot installation directory'''}}
                 ├── [*].patch              {{Highlight|ST patches for U-Boot}}
                 ├── [*].patch              {{Highlight|ST patches for U-Boot}}
                 ├── Makefile.sdk          {{Highlight|Makefile for the U-Boot compilation}}
                 ├── Makefile.sdk          {{Highlight|Makefile for the U-Boot compilation}}
                 ├── README.HOW_TO.txt      {{Highlight|Helper file for U-Boot management: '''reference''' for U-Boot build}}
                 ├── README.HOW_TO.txt      {{Highlight|Helper file for U-Boot management: '''reference''' for U-Boot build}}
                 ├── series
                 ├── series
                 ├── {{Green|u-boot-''YYYY.MM-rR''}}        {{Highlight|'''U-Boot source code directory'''}}
                 ├── {{Green|{{EcosystemRelease/Package | revision=latest| package=U-Boot source | request=path}}}}  {{Highlight|'''U-Boot installation directory'''}}}}        {{Highlight|'''U-Boot source code directory'''}}
                 └── v''YYYY.MM''.tar.gz
                 └── {{EcosystemRelease/Package | revision=2.0.0 | package=U-Boot source | request=name}}


[[#Appendix A: directory structure after build (Developer Package)|Appendix A]] shows the structure of the Linux kernel, U-Boot, TF-A and OP-TEE OS installation directories after these software packages have been built.
[[#Appendix A: directory structure after build (Developer Package)|Appendix A]] shows the structure of the Linux kernel, U-Boot, TF-A and OP-TEE OS installation directories after these software packages have been built.
Line 209: Line 194:


  {{Green|Distribution-Package}}
  {{Green|Distribution-Package}}
  └── {{Green|openstlinux-20-02-19}}  {{Highlight|'''OpenSTLinux distribution'''}}
  └── {{Green|{{EcosystemRelease/Package | revision=latest | package=OpenSTLinux distribution | request=name}}}}  {{Highlight|'''OpenSTLinux distribution'''}}
     └── {{Green|layers}}
     └── {{Green|layers}}
         ├── {{Green|meta-openembedded}}  {{Highlight|Collection of layers for the OpenEmbedded-Core universe ([[OpenEmbedded]] standard)}}
         ├── {{Green|meta-openembedded}}  {{Highlight|Collection of layers for the OpenEmbedded-Core universe ([[OpenEmbedded]] standard)}}
Line 218: Line 203:
         ├── {{Green|meta-st}}
         ├── {{Green|meta-st}}
         │  ├── {{Green|meta-st-openstlinux}}                  {{Highlight|STMicroelectronics layer that contains the settings of the frameworks and images for the OpenSTLinux distribution}}
         │  ├── {{Green|meta-st-openstlinux}}                  {{Highlight|STMicroelectronics layer that contains the settings of the frameworks and images for the OpenSTLinux distribution}}
        │  │  ├── {{Green|recipes-samples}}
        │  │  │  ├── {{Green|images}}
        │  │  │  |  ├── st-example-image-qt.bb    {{Highlight|ST example of image based on QT framework}}
        │  │  │  |  ├── st-example-image-x11.bb  {{Highlight|ST example of image based on X11}}
        │  │  │  |  ├── st-example-image-xfce.bb  {{Highlight|ST example of image based on XFCE framework}}
        │  │  │  |  └── st-image-userfs.bbappend  {{Highlight|Additional packages (application launcher, demo...) for ST Weston image}}
        │  │  │  └── [...]
         │  │  ├── {{Green|recipes-st}}
         │  │  ├── {{Green|recipes-st}}
         │  │  │  ├── {{Green|images}}
         │  │  │  ├── {{Green|images}}
         │  │  │  │  ├── st-image-core.bb          {{Highlight|Core image for OpenSTLinux distribution}}
         │  │  │  │  ├── st-image-core.bb          {{Highlight|Core image for OpenSTLinux distribution}}
        │  │  │  │  ├── st-image.inc
         │  │  │  │  └── st-image-weston.bb        {{Highlight|Weston image with basic Wayland support for OpenSTLinux distribution: '''recommended setup'''}}
         │  │  │  │  └── st-image-weston.bb        {{Highlight|Weston image with basic Wayland support for OpenSTLinux distribution: '''recommended setup'''}}
         │  │  │  └── {{Green|packagegroups}}
         │  │  │  └── {{Green|packagegroups}}
Line 282: Line 259:


  Developer-Package
  Developer-Package
  ├── stm32mp1-openstlinux-20-02-19 {{Highlight|Source code for OpenSTLinux distribution}}
  ├── stm32mp1-{{EcosystemRelease/Package | revision=latest | package=OpenSTLinux distribution | request=name}} {{Highlight|Source code for OpenSTLinux distribution}}
  │  └── sources
  │  └── sources
  │      └── arm-openstlinux_weston-linux-gnueabi
  │      └── arm-ostl-linux-gnueabi
  │          ├── linux-stm32mp-''X.Y-rR''                   {{Highlight|'''Linux kernel installation directory'''}}
  │          ├── FIP_artifacts                  {{Highlight|'''FIP images to flash'''}}
│          │  ├── {{Green|fip/}}                              {{Highlight|'''FIP images to flash, need to edit tsv file to point on that fip images'''}}
│          │  ├── {{Green|arm-trusted-firmware/}}              {{Highlight|'''Intermediate binaries of tf-a required to build fip images'''}}
│          │  ├── {{Green|u-boot/}}                            {{Highlight|'''Intermediate binaries of u-boot required to build fip images'''}}
│          │  ├── {{Green|optee/}}                            {{Highlight|'''Intermediate binaries of  optee required to build fip images'''}}
 
│          ├── {{EcosystemRelease/Package | revision=latest| package=Linux kernel source  | request=path}}
  │          │  ├── {{Green|build}}                              {{Highlight|'''Linux kernel build directory'''}}
  │          │  ├── {{Green|build}}                              {{Highlight|'''Linux kernel build directory'''}}
  │          │  │  ├── {{Green|install_artifact}}
  │          │  │  ├── {{Green|install_artifact}}
Line 294: Line 277:
  │          │  │  │  └── {{Green|boot}}
  │          │  │  │  └── {{Green|boot}}
  │          │  │  │      ├── {{Green|stm32mp157a-dk1[*].dtb}}  {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157A-DK1}}
  │          │  │  │      ├── {{Green|stm32mp157a-dk1[*].dtb}}  {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157A-DK1}}
  │          │  │  │      ├── {{Green|stm32mp157c-dk2[*].dtb}}  {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157C-DK2}}
  │          │  │  │      ├── {{Green|stm32mp157f-dk2[*].dtb}}  {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157F-DK2}}
  │          │  │  │      ├── {{Green|stm32mp157c-ev1[*].dtb}}  {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157C-EV1}}
  │          │  │  │      ├── {{Green|stm32mp157f-ev1[*].dtb}}  {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157F-EV1}}
  │          │  │  │      ├── {{Green|uImage}}                  {{Highlight|Linux kernel binary image file (with U-Boot wrapper) for ''bootfs'' partition}}
  │          │  │  │      ├── {{Green|uImage}}                  {{Highlight|Linux kernel binary image file (with U-Boot wrapper) for ''bootfs'' partition}}
  │          │  │  │      └── {{Green|[...]}}
  │          │  │  │      └── {{Green|[...]}}
Line 302: Line 285:
  │          │  └── [...]
  │          │  └── [...]


  │          ├── optee-os-stm32mp-''X.Y.Z-rR''                                           {{Highlight|'''OP-TEE OS installation directory'''}}
  │          ├── {{EcosystemRelease/Package | revision=latest| package=OP-TEE source  | request=path}}                                           {{Highlight|'''OP-TEE OS installation directory'''}}
  │          │  ├── {{Green|build}}                                                          {{Highlight|'''OP-TEE OS build directory'''}}
  │          │  ├── {{Green|build}}                                                          {{Highlight|'''OP-TEE OS build directory'''}}
  │          │  │  ├── {{Green|tee-[header/pageable/pager]_v2-stm32mp157a-dk1-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157A-DK1}}
  │          │  │  ├── {{Green|tee-[header/pageable/pager]_v2-stm32mp157a-dk1-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157A-DK1}}
  │          │  │  ├── {{Green|tee-[header/pageable/pager]_v2-stm32mp157c-dk2-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157C-DK2}}
  │          │  │  ├── {{Green|tee-[header/pageable/pager]_v2-stm32mp157f-dk2-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157F-DK2}}
  │          │  │  ├── {{Green|tee-[header/pageable/pager]_v2-stm32mp157c-ev1-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157C-EV1}}
  │          │  │  ├── {{Green|tee-[header/pageable/pager]_v2-stm32mp157f-ev1-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157F-EV1}}
  │          │  │  └── {{Green|[...]}}
  │          │  │  └── {{Green|[...]}}
  │          │  └── [...]
  │          │  └── [...]


  │          ├── tf-a-stm32mp-''X.Y-rR''                             {{Highlight|'''TF-A installation directory'''}}
  │          ├──{{EcosystemRelease/Package | revision=latest| package=TF-A source | request=path}}                             {{Highlight|'''TF-A installation directory'''}}
  │          │  ├── {{Green|build}}                                      {{Highlight|'''TF-A build directory'''}}
  │          │  ├── {{Green|build}}                                      {{Highlight|'''TF-A build directory'''}}
  │          │  │  ├── {{Green|optee}}                                  {{Highlight|TF-A, with OP-TEE OS}}
  │          │  │  ├── {{Green|optee}}                                  {{Highlight|TF-A, with OP-TEE OS}}
  │          │  │  │  ├── {{Green|tf-a-bl2-optee.elf}}                  {{Highlight|Debug symbol file for TF-A, with OP-TEE OS → trusted boot firmware stage}}
  │          │  │  │  ├── {{Green|tf-a-bl2-optee.elf}}                  {{Highlight|Debug symbol file for TF-A, with OP-TEE OS → trusted boot firmware stage}}
  │          │  │  │  ├── {{Green|tf-a-stm32mp157a-dk1-optee.stm32}}    {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1}}
  │          │  │  │  ├── {{Green|tf-a-stm32mp157a-dk1-optee.stm32}}    {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1}}
  │          │  │  │  ├── {{Green|tf-a-stm32mp157c-dk2-optee.stm32}}    {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-DK2}}
  │          │  │  │  ├── {{Green|tf-a-stm32mp157f-dk2-optee.stm32}}    {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157F-DK2}}
  │          │  │  │  ├── {{Green|tf-a-stm32mp157c-ev1-optee.stm32}}    {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-EV1}}
  │          │  │  │  ├── {{Green|tf-a-stm32mp157f-ev1-optee.stm32}}    {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157F-EV1}}
  │          │  │  │  └── {{Green|[...]}}
  │          │  │  │  └── {{Green|[...]}}
  │          │  │  └── {{Green|trusted}}                                {{Highlight|TF-A, without OP-TEE OS}}
  │          │  │  └── {{Green|trusted}}                                {{Highlight|TF-A, without OP-TEE OS}}
Line 322: Line 305:
  │          │  │      ├── {{Green|tf-a-bl32-trusted.elf}}              {{Highlight|Debug symbol file for TF-A → trusted boot firmware stage}}
  │          │  │      ├── {{Green|tf-a-bl32-trusted.elf}}              {{Highlight|Debug symbol file for TF-A → trusted boot firmware stage}}
  │          │  │      ├── {{Green|tf-a-stm32mp157a-dk1-trusted.stm32}}  {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157A-DK1}}
  │          │  │      ├── {{Green|tf-a-stm32mp157a-dk1-trusted.stm32}}  {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157A-DK1}}
  │          │  │      ├── {{Green|tf-a-stm32mp157c-dk2-trusted.stm32}}  {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157C-DK2}}
  │          │  │      ├── {{Green|tf-a-stm32mp157f-dk2-trusted.stm32}}  {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157F-DK2}}
  │          │  │      ├── {{Green|tf-a-stm32mp157c-ev1-trusted.stm32}}  {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157C-EV1}}
  │          │  │      ├── {{Green|tf-a-stm32mp157f-ev1-trusted.stm32}}  {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157F-EV1}}
  │          │  │      └── {{Green|[...]}}
  │          │  │      └── {{Green|[...]}}
  │          │  └── [...]
  │          │  └── [...]


  │          └── u-boot-stm32mp-''YYYY.MM-rR''                       {{Highlight|'''U-Boot installation directory'''}}
  │          └── {{EcosystemRelease/Package | revision=latest| package=U-Boot source | request=path}}                       {{Highlight|'''U-Boot installation directory'''}}
  │              ├── {{Green|build-basic}}                                {{Highlight|'''U-Boot build directory for basic boot chain'''}}
  │              ├── {{Green|build-basic}}                                {{Highlight|'''U-Boot build directory for basic boot chain'''}}
  │              │  ├── {{Green|u-boot-spl.stm32-stm32mp157a-dk1-basic}}  {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-spl.stm32-stm32mp157a-dk1-basic}}  {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-spl.stm32-stm32mp157c-dk2-basic}}  {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157C-DK2}}
  │              │  ├── {{Green|u-boot-spl.stm32-stm32mp157f-dk2-basic}}  {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157F-DK2}}
  │              │  ├── {{Green|u-boot-spl.stm32-stm32mp157c-ev1-basic}}  {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157C-EV1}}
  │              │  ├── {{Green|u-boot-spl.stm32-stm32mp157f-ev1-basic}}  {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157F-EV1}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-basic.img}}        {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-basic.img}}        {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157c-dk2-basic.img}}        {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157C-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157f-dk2-basic.img}}        {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157F-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157c-ev1-basic.img}}        {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157C-EV1}}
  │              │  ├── {{Green|u-boot-stm32mp157f-ev1-basic.img}}        {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157F-EV1}}
  │              ├── {{Green|build-optee}}                                {{Highlight|'''U-Boot build directory for trusted boot chain, with OP-TEE OS'''}}
  │              ├── {{Green|build-optee}}                                {{Highlight|'''U-Boot build directory for trusted boot chain, with OP-TEE OS'''}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-optee.elf}}        {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-optee.elf}}        {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-optee.stm32}}      {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-optee.stm32}}      {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157c-dk2-optee.elf}}        {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157C-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157f-dk2-optee.elf}}        {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157F-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157c-dk2-optee.stm32}}      {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157f-dk2-optee.stm32}}      {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157F-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157c-ev1-optee.elf}}        {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157C-EV1}}
  │              │  ├── {{Green|u-boot-stm32mp157f-ev1-optee.elf}}        {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157F-EV1}}
  │              │  ├── {{Green|u-boot-stm32mp157c-ev1-optee.stm32}}      {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-EV1}}
  │              │  ├── {{Green|u-boot-stm32mp157f-ev1-optee.stm32}}      {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157F-EV1}}
  │              │  └── {{Green|[...]}}
  │              │  └── {{Green|[...]}}
  │              ├── {{Green|build-trusted}}                              {{Highlight|'''U-Boot build directory for trusted boot chain'''}}
  │              ├── {{Green|build-trusted}}                              {{Highlight|'''U-Boot build directory for trusted boot chain'''}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-trusted.elf}}      {{Highlight|Debug symbol file for U-Boot → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-trusted.elf}}      {{Highlight|Debug symbol file for U-Boot → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-trusted.stm32}}    {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157a-dk1-trusted.stm32}}    {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157A-DK1}}
  │              │  ├── {{Green|u-boot-stm32mp157c-dk2-trusted.elf}}      {{Highlight|Debug symbol file for U-Boot → STM32MP157C-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157f-dk2-trusted.elf}}      {{Highlight|Debug symbol file for U-Boot → STM32MP157F-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157c-dk2-trusted.stm32}}    {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157C-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157f-dk2-trusted.stm32}}    {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157F-DK2}}
  │              │  ├── {{Green|u-boot-stm32mp157c-ev1-trusted.elf}}      {{Highlight|Debug symbol file for U-Boot → STM32MP157C-EV1}}
  │              │  ├── {{Green|u-boot-stm32mp157f-ev1-trusted.elf}}      {{Highlight|Debug symbol file for U-Boot → STM32MP157F-EV1}}
  │              │  ├── {{Green|u-boot-stm32mp157c-ev1-trusted.stm32}}    {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157C-EV1}}
  │              │  ├── {{Green|u-boot-stm32mp157f-ev1-trusted.stm32}}    {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157F-EV1}}
  │              │  └── {{Green|[...]}}
  │              │  └── {{Green|[...]}}
  │              └── [...]
  │              └── [...]
Line 362: Line 345:




  Distribution-Package/openstlinux-20-02-19 /build-openstlinuxweston-stm32mp/{{Green|tmp-glibc/deploy}}
  Distribution-Package/{{EcosystemRelease/Package | revision=latest | package=OpenSTLinux distribution | request=name}} /build-openstlinuxweston-stm32mp/{{Green|tmp-glibc/deploy}}
  ├── {{Green|images}}
  ├── {{Green|images}}
  │  └── {{Green|stm32mp1}}
  │  └── {{Green|stm32mp1}}
  │      ├── {{STPurple|flashlayout_st-image-weston}}                                {{Highlight|Flash layout files (description of the partitions) for the supported flash devices}}
  │      ├── {{STPurple|flashlayout_st-image-weston}}                                {{Highlight|Flash layout files (description of the partitions) for the supported flash devices}}
  │      │  ├── {{STPurple|FlashLayout_emmc_stm32mp157c-ev1-optee.tsv}}              {{Highlight|Flash layout file for eMMC and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_emmc_stm32mp157f-ev1-optee.tsv}}              {{Highlight|Flash layout file for eMMC and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_emmc_stm32mp157c-ev1-trusted.tsv}}            {{Highlight|Flash layout file for eMMC and trusted boot chain → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_emmc_stm32mp157f-ev1-trusted.tsv}}            {{Highlight|Flash layout file for eMMC and trusted boot chain → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nand-4-256_stm32mp157c-ev1-optee.tsv}}        {{Highlight|Flash layout file for NAND Flash and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nand-4-256_stm32mp157f-ev1-optee.tsv}}        {{Highlight|Flash layout file for NAND Flash and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nand-4-256_stm32mp157c-ev1-trusted.tsv}}      {{Highlight|Flash layout file for NAND Flash and trusted boot chain → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nand-4-256_stm32mp157f-ev1-trusted.tsv}}      {{Highlight|Flash layout file for NAND Flash and trusted boot chain → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-emmc_stm32mp157c-ev1-optee.tsv}}          {{Highlight|Flash layout file for NOR Flash (and eMMC) and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-emmc_stm32mp157f-ev1-optee.tsv}}          {{Highlight|Flash layout file for NOR Flash (and eMMC) and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-emmc_stm32mp157c-ev1-trusted.tsv}}        {{Highlight|Flash layout file for NOR Flash (and eMMC) and trusted boot chain → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-emmc_stm32mp157f-ev1-trusted.tsv}}        {{Highlight|Flash layout file for NOR Flash (and eMMC) and trusted boot chain → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-nand-4-256_stm32mp157c-ev1-optee.tsv}}    {{Highlight|Flash layout file for NOR Flash (and NAND Flash) and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-nand-4-256_stm32mp157f-ev1-optee.tsv}}    {{Highlight|Flash layout file for NOR Flash (and NAND Flash) and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-nand-4-256_stm32mp157c-ev1-trusted.tsv}}  {{Highlight|Flash layout file for NOR Flash (and NAND Flash) and trusted boot chain → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-nand-4-256_stm32mp157f-ev1-trusted.tsv}}  {{Highlight|Flash layout file for NOR Flash (and NAND Flash) and trusted boot chain → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-sdcard_stm32mp157c-ev1-optee.tsv}}        {{Highlight|Flash layout file for NOR Flash (and microSD card) and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-sdcard_stm32mp157f-ev1-optee.tsv}}        {{Highlight|Flash layout file for NOR Flash (and microSD card) and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-sdcard_stm32mp157c-ev1-trusted.tsv}}      {{Highlight|Flash layout file for NOR Flash (and microSD card) and trusted boot chain → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_nor-sdcard_stm32mp157f-ev1-trusted.tsv}}      {{Highlight|Flash layout file for NOR Flash (and microSD card) and trusted boot chain → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157a-dk1-basic.tsv}}            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157A-DK1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157a-dk1-basic.tsv}}            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157A-DK1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157a-dk1-optee.tsv}}            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157A-DK1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157a-dk1-optee.tsv}}            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157A-DK1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157a-dk1-trusted.tsv}}          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157A-DK1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157a-dk1-trusted.tsv}}          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157A-DK1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157c-dk2-basic.tsv}}            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157C-DK2}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157f-dk2-basic.tsv}}            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157F-DK2}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157c-dk2-optee.tsv}}            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157C-DK2}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157f-dk2-optee.tsv}}            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157F-DK2}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv}}          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157C-DK2}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157f-dk2-trusted.tsv}}          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157F-DK2}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157c-ev1-basic.tsv}}            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157f-ev1-basic.tsv}}            {{Highlight|Flash layout file for microSD card and basic boot chain → STM32MP157F-EV1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157c-ev1-optee.tsv}}            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157C-EV1}}
  │      │  ├── {{STPurple|FlashLayout_sdcard_stm32mp157f-ev1-optee.tsv}}            {{Highlight|Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1}}
  │      │  └── {{STPurple|FlashLayout_sdcard_stm32mp157c-ev1-trusted.tsv}}          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157C-EV1}}
  │      │  └── {{STPurple|FlashLayout_sdcard_stm32mp157f-ev1-trusted.tsv}}          {{Highlight|Flash layout file for microSD card and trusted boot chain ('''recommended setup''') → STM32MP157F-EV1}}
  │      │  └── [...]
  │      │  └── [...]
  │      ├── {{STPurple|scripts}}
  │      ├── {{STPurple|scripts}}
Line 393: Line 376:
  │      ├── {{STPurple|st-image-vendorfs-openstlinux-weston-stm32mp1.ext4}}          {{Highlight|Binary for ''vendorfs'' partition}}
  │      ├── {{STPurple|st-image-vendorfs-openstlinux-weston-stm32mp1.ext4}}          {{Highlight|Binary for ''vendorfs'' partition}}
  │      ├── {{STPurple|st-image-weston-openstlinux-weston-stm32mp1.ext4}}            {{Highlight|Binary for ''rootfs'' partition}}
  │      ├── {{STPurple|st-image-weston-openstlinux-weston-stm32mp1.ext4}}            {{Highlight|Binary for ''rootfs'' partition}}
│      ├── {{Orange|stm32mp157a-dk1[*].dtb}}                                      {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157A-DK1}}
  │      ├── {{Grey|fip/}}                                                       {{Highlight|FIP images flashed according flashlayout selected}}
│      ├── {{Orange|stm32mp157c-dk2[*].dtb}}                                      {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157C-DK2}}
│      ├── {{Orange|stm32mp157c-e[*].dtb}}                                        {{Highlight|Linux kernel device tree blob files for ''bootfs'' partition → STM32MP157C-EV1}}
│      ├── {{Grey|tee-[header/pageable/pager]_v2-stm32mp157a-dk1-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157A-DK1}}
  │      ├── {{Grey|tee-[header/pageable/pager]_v2-stm32mp157c-dk2-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157C-DK2}}
│      ├── {{Grey|tee-[header/pageable/pager]_v2-stm32mp157c-ev1-optee.stm32}}  {{Highlight|Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157C-EV1}}
│      ├── {{Orange|tf-a-bl2-optee.elf}}                                          {{Highlight|Debug symbol file for TF-A, with OP-TEE OS → trusted boot firmware stage}}
│      ├── {{Orange|tf-a-bl2-trusted.elf}}                                        {{Highlight|Debug symbol file for TF-A → trusted boot firmware stage}}
│      ├── {{Orange|tf-a-bl32-trusted.elf}}                                      {{Highlight|Debug symbol file for TF-A → runtime software stage}}
│      ├── {{Grey|tf-a-stm32mp157a-dk1-optee.stm32}}                            {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1}}
│      ├── {{Grey|tf-a-stm32mp157a-dk1-trusted.stm32}}                          {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157A-DK1}}
│      ├── {{Grey|tf-a-stm32mp157c-dk2-optee.stm32}}                            {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-DK2}}
│      ├── {{Grey|tf-a-stm32mp157c-dk2-trusted.stm32}}                          {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157C-DK2}}
│      ├── {{Grey|tf-a-stm32mp157c-ev1-optee.stm32}}                            {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-EV1}}
│      ├── {{Grey|tf-a-stm32mp157c-ev1-trusted.stm32}}                          {{Highlight|TF-A binary for ''FSBL'' partition (trusted boot chain) → STM32MP157C-EV1}}
│      ├── {{Grey|u-boot-spl.stm32-stm32mp157a-dk1-basic}}                      {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157A-DK1}}
│      ├── {{Grey|u-boot-spl.stm32-stm32mp157c-dk2-basic}}                      {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157C-DK2}}
│      ├── {{Grey|u-boot-spl.stm32-stm32mp157c-ev1-basic}}                      {{Highlight|U-Boot binary for ''FSBL'' partition (basic boot chain) → STM32MP157C-EV1}}
│      ├── {{Grey|u-boot-stm32mp157a-dk1-basic.img}}                            {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157A-DK1}}
│      ├── {{Orange|u-boot-stm32mp157a-dk1-optee.elf}}                            {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157A-DK1}}
│      ├── {{Grey|u-boot-stm32mp157a-dk1-optee.stm32}}                          {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1}}
│      ├── {{Orange|u-boot-stm32mp157a-dk1-trusted.elf}}                          {{Highlight|Debug symbol file for U-Boot → STM32MP157A-DK1}}
│      ├── {{Grey|u-boot-stm32mp157a-dk1-trusted.stm32}}                        {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157A-DK1}}
│      ├── {{Grey|u-boot-stm32mp157c-dk2-basic.img}}                            {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157C-DK2}}
│      ├── {{Orange|u-boot-stm32mp157c-dk2-optee.elf}}                            {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157C-DK2}}
│      ├── {{Grey|u-boot-stm32mp157c-dk2-optee.stm32}}                          {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-DK2}}
│      ├── {{Orange|u-boot-stm32mp157c-dk2-trusted.elf}}                          {{Highlight|Debug symbol file for U-Boot → STM32MP157C-DK2}}
│      ├── {{Grey|u-boot-stm32mp157c-dk2-trusted.stm32}}                        {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157C-DK2}}
│      ├── {{Grey|u-boot-stm32mp157c-ev1-basic.img}}                            {{Highlight|U-Boot binary for ''SSBL'' partition (basic boot chain) → STM32MP157C-EV1}}
│      ├── {{Orange|u-boot-stm32mp157c-ev1-optee.elf}}                            {{Highlight|Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157C-EV1}}
│      ├── {{Grey|u-boot-stm32mp157c-ev1-optee.stm32}}                          {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain), with OP-TEE OS → STM32MP157C-EV1}}
│      ├── {{Orange|u-boot-stm32mp157c-ev1-trusted.elf}}                          {{Highlight|Debug symbol file for U-Boot → STM32MP157C-EV1}}
│      ├── {{Grey|u-boot-stm32mp157c-ev1-trusted.stm32}}                       {{Highlight|U-Boot binary for ''SSBL'' partition (trusted boot chain) → STM32MP157C-EV1}}
  │      ├── {{Orange|uImage}}                                                      {{Highlight|Linux kernel binary image file (with U-Boot wrapper) for ''bootfs'' partition}}
  │      ├── {{Orange|uImage}}                                                      {{Highlight|Linux kernel binary image file (with U-Boot wrapper) for ''bootfs'' partition}}
  │      ├── {{Orange|vmlinux}}                                                    {{Highlight|Debug symbol file for Linux kernel}}
  │      ├── {{Orange|vmlinux}}                                                    {{Highlight|Debug symbol file for Linux kernel}}

Latest revision as of 15:14, 16 November 2021

1. Article purpose[edit source]

This article aims at proposing a way to organize, on the host PC, the software packages of the different Packages (Starter, Developer and Distribution) for a given release of the STM32MPU Embedded Software distribution.

The main objective of the proposed organization is to keep together the software packages corresponding to a given release because there are links between them. For example:

  • Flashing the image from the Starter Package on the board is mandatory before modifying the source code from the Developer Package. Both the image and the source code must belong to the same software release.
  • The SDK (Developer Package) and the image (Starter Package) have both been generated from the Distribution Package. A software release thus guarantees that there is no misalignment between the different software packages.
Info white.png Information
The objective of this article is to describe one organization among all the possible organizations. Feel free to organize the delivered Packages in any other way that would better match your way of working.
Info white.png Information
In practice, this article uses the release STM32MP15-Ecosystem-v3.1.0 for the STM32MPU Embedded Software distribution as an example to illustrate the proposed organization. If you are using a different release, the names of the directories and files might differ.


The directories are shown in green, while the files are in black.

2. Creating the structure[edit source]

  • Create your <working directory> and assign a unique name to it (for example by including the release name):
 mkdir STM32MP15-Ecosystem-v3.1.0
 cd STM32MP15-Ecosystem-v3.1.0
  • Create the first-level directories that will host the software packages delivered through the STM32MPU Embedded Software distribution release note:
 mkdir Starter-Package
 mkdir Developer-Package
 mkdir Distribution-Package
  • The resulting directory structure looks as follows:
STM32MP15-Ecosystem-v3.1.0  STM32MPU Embedded Software release
├── Developer-Package       Developer Package installation directory
├── Distribution-Package    Distribution Package installation directory
└── Starter-Package         Starter Package installation directory

Once all software packages have been installed according to the instructions given in the STM32MPU Embedded Software distribution release note, the resulting directory structure looks as follows:

STM32MP15-Ecosystem-v3.1.0                           STM32MPU Embedded Software release
├── Developer-Package                                Developer Package installation directory
│   ├── SDK                                          SDK for OpenSTLinux distribution
│   ├── STM32Cube_FW_MP1_V1.5.0                      STM32CubeMP1 Package
│   └── stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17  Linux kernel, U-Boot, TF-A and OP-TEE OS source code (OpenSTLinux distribution)
├── Distribution-Package                             Distribution Package installation directory
│   └── stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17  OpenSTLinux distribution (full source code and OpenEmbedded-based build framework)
└── Starter-Package                                  Starter Package installation directory
    └── stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17  Software image (binaries)

3. Focus on the Starter Package directory[edit source]

The Starter-Package directory contains the software image for the STM32MPU Embedded Software distribution.

The trusted boot chain is the default solution delivered by STMicroelectronics. It includes the superset of features (for example, all Flash memory devices are supported). The basic boot chain is also upstreamed by STMicroelectronics, with a limited number of features (for example microSD card memory boot only). Refer to the Boot chain overview article for details.

Flash memory partitions (e.g. rootfs, bootfs...) are explained in the STM32MP15 Flash mapping article.


Starter-Package
└── stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17 
    └── images
        └── stm32mp1
            ├── flashlayout_st-image-weston                                 Flash layout files (description of the partitions) for the supported Flash devices and boards
            │   ├── FlashLayout_emmc_stm32mp157f-ev1-optee.tsv              Flash layout file for eMMC and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1
            │   ├── FlashLayout_emmc_stm32mp157f-ev1-trusted.tsv            Flash layout file for eMMC and trusted boot chain → STM32MP157F-EV1
            │   ├── FlashLayout_sdcard_stm32mp157f-dk2-basic.tsv            Flash layout file for microSD card and basic boot chain → STM32MP157F-DK2
            │   ├── FlashLayout_sdcard_stm32mp157f-dk2-optee.tsv            Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157F-DK2
            │   ├── FlashLayout_sdcard_stm32mp157f-dk2-trusted.tsv          Flash layout file for microSD card and trusted boot chain (recommended setup) → STM32MP157F-DK2
            │   ├── FlashLayout_sdcard_stm32mp157f-dk2-extensible.tsv       Flash layout file for microSD card with no userfs partition but a rootfs partition extended to sdcard size (recommended setup for package repository service) → STM32MP157F-DK2
            │   └── [...]
            ├── fip
            │   ├── fip-<board>-<boot-type>.bin             Image to flash            
            ├── arm-trusted-firmware
            │   ├── tf-a-<board>-<boot-type>.stm32          Intermediate tf-a binary used to build fip image
            ├── u-boot
            │   ├── u-boot-nodtb-soc.bin                    Intermediate tf-a binary used to build fip image
            │   ├── u-boot-<board>-<boot-type>.dtb          Intermediate tf-a dtb used to build fip image
            ├── optee
            │   ├── tee-header_v2-<board>.bin
            ​│   ├── tee-pageable_v2--<board>.bin
           ​ │   ├── tee-pager_v2--<board>.bin
            ├── kernel
            │   ├── vmlinux                                 vmlinux copied in bootfs partition
            ├── scripts
            │   └── create_sdcard_from_flashlayout.sh
            ├── st-image-bootfs-openstlinux-weston-stm32mp1.ext4            Binary for bootfs partition
            ├── st-image-bootfs-openstlinux-weston-stm32mp1.manifest
            ├── st-image-userfs-openstlinux-weston-stm32mp1.ext4            Binary for userfs partition
            ├── st-image-userfs-openstlinux-weston-stm32mp1.manifest
            ├── st-image-vendorfs-openstlinux-weston-stm32mp1.ext4          Binary for vendorfs partition
            ├── st-image-weston-openstlinux-weston-stm32mp1.ext4            Binary for rootfs partition
            ├── st-image-weston-openstlinux-weston-stm32mp1.license
            ├── st-image-weston-openstlinux-weston-stm32mp1-license_content.html
            ├── st-image-weston-openstlinux-weston-stm32mp1.manifest
            └── [...]

4. Focus on the Developer Package directory[edit source]

The Developer-Package directory contains:

  • The source code for the following OpenSTLinux software packages (development for Arm® Cortex®-A processor):
    • Linux® kernel
    • U-Boot
    • TF-A
    • OP-TEE OS
  • The debug symbol files for Linux kernel, U-Boot, TF-A and OP-TEE OS
  • The SDK (for cross-development on an host PC)
  • The STM32Cube MPU Package (developed for Arm® Cortex®-M processor)


Developer-Package
├── SDK                                                                             SDK for OpenSTLinux distribution: details in Standard SDK directory structure article
│   ├── environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi  Environment setup script for Developer Package
│   ├── site-config-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
│   ├── sysroots
│   │   ├── cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi                Target sysroot (libraries, headers, and symbols)
│   │   │   └── [...]
│   │   └── x86_64-ostl_sdk-linux                                     Native sysroot (libraries, headers, and symbols)
│   │       └── [...]
│   └── version-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
├── STM32Cube_FW_MP1_V1.5.0             STM32CubeMP1 Package: details in STM32CubeMP1 Package content article
│   ├── Drivers
│   │   ├── BSP                         BSP drivers for the supported STM32MPU boards
│   │   │   └── [...]
│   │   ├── CMSIS
│   │   │   └── [...]
│   │   └── STM32MP1xx_HAL_Driver       HAL drivers for the supported STM32MPU devices
│   │       └── [...]
│   ├── _htmresc
│   │   └── [...]
│   ├── License.md                      License types for the components
│   ├── Middlewares                     Middlewares used by the examples and applications
│   │   └── [...]
│   ├── package.xml
│   ├── Projects
│   │   ├── STM32CubeProjectsList.html  List of examples and applications for STM32CubeMP1 Package
│   │   ├── STM32MP157F-DK2             Set of examples and applications → STM32MP157F-DK2
│   │   │   └── [...]
│   │   └── STM32MP157F-EV1             Set of examples and applications → STM32MP157F-EV1
│   │       └── [...]
│   ├── Readme.md
│   ├── Release_Notes.html              Release note for STM32CubeMP1 Package
│   └── Utilities
│       └── [...]
└── stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17     Source code for OpenSTLinux distribution
    ├── images
    │   └── stm32mp1                                Debug symbol files installation directory
    │       ├── tf-a-bl2-optee.elf                  Debug symbol file for TF-A, with OP-TEE OS → trusted boot firmware stage
    │       ├── tf-a-bl2-trusted.elf                Debug symbol file for TF-A → trusted boot firmware stage
    │       ├── tf-a-bl32-trusted.elf               Debug symbol file for TF-A → runtime software stage
    │       ├── u-boot-stm32mp157a-dk1-optee.elf    Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157A-DK1
    │       ├── u-boot-stm32mp157a-dk1-trusted.elf  Debug symbol file for U-Boot → STM32MP157A-DK1
    │       ├── u-boot-stm32mp157f-dk2-optee.elf    Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157F-DK2
    │       ├── u-boot-stm32mp157f-dk2-trusted.elf  Debug symbol file for U-Boot → STM32MP157F-DK2
    │       ├── u-boot-stm32mp157f-ev1-optee.elf    Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157F-EV1
    │       ├── u-boot-stm32mp157f-ev1-trusted.elf  Debug symbol file for U-Boot → STM32MP157F-EV1
    │       ├── vmlinux                             Debug symbol file for Linux kernel
    │       └── [...]
    └── sources
        └── arm-ostl-linux-gnueabi
            ├── FIP_artifacts
            ├── fip/                     fip images of Stater Package
            ├── arm-trusted-firmware/    intermediate tf-a binaries from Stater Package (needed to build any fip image
            ├── optee/                   intermediate optee binaries from Stater Package (needed to build any fip image
            └── u-boot/                  intermediate u-boot binaries from Stater Package (needed to build any fip image
            ├── linux-5.10.61
            │   ├── [*].patch            ST patches for Linux kernel
            │   ├── fragment-[*].config  ST configuration fragments for Linux kernel
            │   ├── linux-5.10.61         Linux kernel source code directory
            │   ├── linux-5.10.61.tar.xz
            │   ├── README.HOW_TO.txt    Helper file for Linux kernel management: reference for Linux kernel build
            │   └── series
            ├── optee-os-stm32mp-3.12.0-stm32mp-r2  OP-TEE OS installation directory
            │   ├── [*].patch              ST patches for OP-TEE OS
            │   ├── optee-os-stm32mp-3.12.0-stm32mp-r2
            │   ├── Makefile.sdk           Makefile for the OP-TEE OS compilation
            │   ├── optee-os-stm32mp-3.12.0-stm32mp-r2-r0.tar.gz         OP-TEE OS source code directory
            │   ├── README.HOW_TO.txt      Helper file for OP-TEE OS management: reference for OP-TEE OS build
            │   └── series
            ├── tf-a-stm32mp-v2.4-stm32mp-r2           TF-A installation directory
            │   ├── [*].patch                 ST patches for TF-A
            │   ├── tf-a-stm32mp-v2.4-stm32mp-r2  TF-A source code directory
            │   ├── Makefile.sdk              Makefile for the TF-A compilation
            │   ├── README.HOW_TO.txt         Helper file for TF-A management: reference for TF-A build
            │   ├── series
            │   └── tf-a-stm32mp-v2.4-stm32mp-r2-r0.tar.gz
            └── u-boot-stm32mp-v2020.10-stm32mp-r2  U-Boot installation directory
                ├── [*].patch              ST patches for U-Boot
                ├── Makefile.sdk           Makefile for the U-Boot compilation
                ├── README.HOW_TO.txt      Helper file for U-Boot management: reference for U-Boot build
                ├── series
                ├── u-boot-stm32mp-v2020.10-stm32mp-r2  U-Boot installation directory         U-Boot source code directory
                └── unknown revision

Appendix A shows the structure of the Linux kernel, U-Boot, TF-A and OP-TEE OS installation directories after these software packages have been built.

5. Focus on the Distribution Package directory[edit source]

The Distribution-Package directory contains all the OpenEmbedded layers required to get the source code of any STM32MPU Embedded Software component, as well as a build framework based on OpenEmbedded.


Distribution-Package
└── openstlinux-5.10-dunfell-mp1-21-11-17  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 settings of the frameworks and images for the OpenSTLinux distribution
        │   │   ├── recipes-st
        │   │   │   ├── images
        │   │   │   │   ├── st-image-core.bb          Core image for OpenSTLinux distribution
        │   │   │   │   └── st-image-weston.bb        Weston image with basic Wayland support for OpenSTLinux distribution: recommended setup
        │   │   │   └── packagegroups
        │   │   │       └── [...]
        │   │   └── [...]
        │   ├── 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
        │   │   │   ├── m4projects                Recipes for STM32Cube MPU Package within the OpenSTLinux distribution
        │   │   │   │   └── [...]
        │   │   │   └── [...]
        │   │   ├── 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-st
        │   │   │   └── images
        │   │   │       ├── st-image-bootfs.bb    Recipes for the bootfs partition binary
        │   │   │       ├── st-image-userfs.bb    Recipes for the userfs partition binary
        │   │   │       └── st-image-vendorfs.bb  Recipes for the vendorfs partition binary
        │   │   └── [...]
        │   ├── meta-st-stm32mp-addons  STMicroelectronics layer that helps managing the STM32CubeMX integration
        │       └── [...]
        │   └── scripts
        │       ├── envsetup.sh         Environment setup script for Distribution Package
        │       └── [...]
        ├── meta-timesys       Timesys layer for OpenEmbedded (standard)
        │   └── [...]
        └── openembedded-core  Core metadata for current versions of OpenEmbedded (standard)
            └── [...]

Appendix B shows the structure of the build directory.

6. Appendix A: directory structure after build (Developer Package)[edit source]

Provided you have followed the recommendations of the README.HOW_TO.txt helper files to build the Linux kernel, the U-Boot and the TF-A, then the following new directories and files contain the build outputs.


Developer-Package
├── stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17  Source code for OpenSTLinux distribution
│   └── sources
│       └── arm-ostl-linux-gnueabi
│           ├── FIP_artifacts                  FIP images to flash
│           │   ├── fip/                               FIP images to flash, need to edit tsv file to point on that fip images
│           │   ├── arm-trusted-firmware/              Intermediate binaries of tf-a required to build fip images
│           │   ├── u-boot/                            Intermediate binaries of u-boot required to build fip images
│           │   ├── optee/                             Intermediate binaries of  optee required to build fip images
│           ├── linux-5.10.61
│           │   ├── build                               Linux kernel build directory
│           │   │   ├── install_artifact
│           │   │   │   ├── lib
│           │   │   │   │   └── modules
│           │   │   │   │       └── X.Y.Z
│           │   │   │   │           └── [...]           Kernel modules hierarchy (*.ko files)
│           │   │   │   └── boot
│           │   │   │       ├── stm32mp157a-dk1[*].dtb  Linux kernel device tree blob files for bootfs partition → STM32MP157A-DK1
│           │   │   │       ├── stm32mp157f-dk2[*].dtb  Linux kernel device tree blob files for bootfs partition → STM32MP157F-DK2
│           │   │   │       ├── stm32mp157f-ev1[*].dtb  Linux kernel device tree blob files for bootfs partition → STM32MP157F-EV1
│           │   │   │       ├── uImage                  Linux kernel binary image file (with U-Boot wrapper) for bootfs partition
│           │   │   │       └── [...]
│           │   │   ├── vmlinux                         Debug symbol file for Linux kernel
│           │   │   └── [...]
│           │   └── [...]
│           ├── optee-os-stm32mp-3.12.0-stm32mp-r2                                           OP-TEE OS installation directory
│           │   ├── build                                                           OP-TEE OS build directory
│           │   │   ├── tee-[header/pageable/pager]_v2-stm32mp157a-dk1-optee.stm32  Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157A-DK1
│           │   │   ├── tee-[header/pageable/pager]_v2-stm32mp157f-dk2-optee.stm32  Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157F-DK2
│           │   │   ├── tee-[header/pageable/pager]_v2-stm32mp157f-ev1-optee.stm32  Binaries for OP-TEE OS runtime services (trusted boot chain) → STM32MP157F-EV1
│           │   │   └── [...]
│           │   └── [...]
│           ├──tf-a-stm32mp-v2.4-stm32mp-r2                             TF-A installation directory
│           │   ├── build                                       TF-A build directory
│           │   │   ├── optee                                   TF-A, with OP-TEE OS
│           │   │   │   ├── tf-a-bl2-optee.elf                  Debug symbol file for TF-A, with OP-TEE OS → trusted boot firmware stage
│           │   │   │   ├── tf-a-stm32mp157a-dk1-optee.stm32    TF-A binary for FSBL partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1
│           │   │   │   ├── tf-a-stm32mp157f-dk2-optee.stm32    TF-A binary for FSBL partition (trusted boot chain), with OP-TEE OS → STM32MP157F-DK2
│           │   │   │   ├── tf-a-stm32mp157f-ev1-optee.stm32    TF-A binary for FSBL partition (trusted boot chain), with OP-TEE OS → STM32MP157F-EV1
│           │   │   │   └── [...]
│           │   │   └── trusted                                 TF-A, without OP-TEE OS
│           │   │       ├── tf-a-bl2-trusted.elf                Debug symbol file for TF-A → trusted boot firmware stage
│           │   │       ├── tf-a-bl32-trusted.elf               Debug symbol file for TF-A → trusted boot firmware stage
│           │   │       ├── tf-a-stm32mp157a-dk1-trusted.stm32  TF-A binary for FSBL partition (trusted boot chain) → STM32MP157A-DK1
│           │   │       ├── tf-a-stm32mp157f-dk2-trusted.stm32  TF-A binary for FSBL partition (trusted boot chain) → STM32MP157F-DK2
│           │   │       ├── tf-a-stm32mp157f-ev1-trusted.stm32  TF-A binary for FSBL partition (trusted boot chain) → STM32MP157F-EV1
│           │   │       └── [...]
│           │   └── [...]
│           └── u-boot-stm32mp-v2020.10-stm32mp-r2                       U-Boot installation directory
│               ├── build-basic                                 U-Boot build directory for basic boot chain
│               │   ├── u-boot-spl.stm32-stm32mp157a-dk1-basic  U-Boot binary for FSBL partition (basic boot chain) → STM32MP157A-DK1
│               │   ├── u-boot-spl.stm32-stm32mp157f-dk2-basic  U-Boot binary for FSBL partition (basic boot chain) → STM32MP157F-DK2
│               │   ├── u-boot-spl.stm32-stm32mp157f-ev1-basic  U-Boot binary for FSBL partition (basic boot chain) → STM32MP157F-EV1
│               │   ├── u-boot-stm32mp157a-dk1-basic.img        U-Boot binary for SSBL partition (basic boot chain) → STM32MP157A-DK1
│               │   ├── u-boot-stm32mp157f-dk2-basic.img        U-Boot binary for SSBL partition (basic boot chain) → STM32MP157F-DK2
│               │   ├── u-boot-stm32mp157f-ev1-basic.img        U-Boot binary for SSBL partition (basic boot chain) → STM32MP157F-EV1
│               ├── build-optee                                 U-Boot build directory for trusted boot chain, with OP-TEE OS
│               │   ├── u-boot-stm32mp157a-dk1-optee.elf        Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157A-DK1
│               │   ├── u-boot-stm32mp157a-dk1-optee.stm32      U-Boot binary for SSBL partition (trusted boot chain), with OP-TEE OS → STM32MP157A-DK1
│               │   ├── u-boot-stm32mp157f-dk2-optee.elf        Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157F-DK2
│               │   ├── u-boot-stm32mp157f-dk2-optee.stm32      U-Boot binary for SSBL partition (trusted boot chain), with OP-TEE OS → STM32MP157F-DK2
│               │   ├── u-boot-stm32mp157f-ev1-optee.elf        Debug symbol file for U-Boot, with OP-TEE OS → STM32MP157F-EV1
│               │   ├── u-boot-stm32mp157f-ev1-optee.stm32      U-Boot binary for SSBL partition (trusted boot chain), with OP-TEE OS → STM32MP157F-EV1
│               │   └── [...]
│               ├── build-trusted                               U-Boot build directory for trusted boot chain
│               │   ├── u-boot-stm32mp157a-dk1-trusted.elf      Debug symbol file for U-Boot → STM32MP157A-DK1
│               │   ├── u-boot-stm32mp157a-dk1-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) → STM32MP157A-DK1
│               │   ├── u-boot-stm32mp157f-dk2-trusted.elf      Debug symbol file for U-Boot → STM32MP157F-DK2
│               │   ├── u-boot-stm32mp157f-dk2-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) → STM32MP157F-DK2
│               │   ├── u-boot-stm32mp157f-ev1-trusted.elf      Debug symbol file for U-Boot → STM32MP157F-EV1
│               │   ├── u-boot-stm32mp157f-ev1-trusted.stm32    U-Boot binary for SSBL partition (trusted boot chain) → STM32MP157F-EV1
│               │   └── [...]
│               └── [...]

7. Appendix B: directory structure after build (Distribution Package)[edit source]

Provided you have followed the build method explained in OpenSTLinux distribution, then the following new directories contain the build outputs.

As long as you did not modify the source code:

  • the files in STPurple are the same as the ones available in the Starter Package: flash layout, binaries for bootfs, rootfs, userfs and vendorfs partitions
  • the files in grey are the same as the ones available in the Starter and Developer Packages: binaries for FSBL and SSBL partitions, and for OP-TEE OS runtime services
  • the files in orange are the same as the ones available in the Developer Package: Linux kernel image and device tree blobs, and debug symbol files


Distribution-Package/openstlinux-5.10-dunfell-mp1-21-11-17 /build-openstlinuxweston-stm32mp/tmp-glibc/deploy
├── images
│   └── stm32mp1
│       ├── flashlayout_st-image-weston                                 Flash layout files (description of the partitions) for the supported flash devices
│       │   ├── FlashLayout_emmc_stm32mp157f-ev1-optee.tsv              Flash layout file for eMMC and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1
│       │   ├── FlashLayout_emmc_stm32mp157f-ev1-trusted.tsv            Flash layout file for eMMC and trusted boot chain → STM32MP157F-EV1
│       │   ├── FlashLayout_nand-4-256_stm32mp157f-ev1-optee.tsv        Flash layout file for NAND Flash and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1
│       │   ├── FlashLayout_nand-4-256_stm32mp157f-ev1-trusted.tsv      Flash layout file for NAND Flash and trusted boot chain → STM32MP157F-EV1
│       │   ├── FlashLayout_nor-emmc_stm32mp157f-ev1-optee.tsv          Flash layout file for NOR Flash (and eMMC) and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1
│       │   ├── FlashLayout_nor-emmc_stm32mp157f-ev1-trusted.tsv        Flash layout file for NOR Flash (and eMMC) and trusted boot chain → STM32MP157F-EV1
│       │   ├── FlashLayout_nor-nand-4-256_stm32mp157f-ev1-optee.tsv    Flash layout file for NOR Flash (and NAND Flash) and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1
│       │   ├── FlashLayout_nor-nand-4-256_stm32mp157f-ev1-trusted.tsv  Flash layout file for NOR Flash (and NAND Flash) and trusted boot chain → STM32MP157F-EV1
│       │   ├── FlashLayout_nor-sdcard_stm32mp157f-ev1-optee.tsv        Flash layout file for NOR Flash (and microSD card) and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1
│       │   ├── FlashLayout_nor-sdcard_stm32mp157f-ev1-trusted.tsv      Flash layout file for NOR Flash (and microSD card) and trusted boot chain → STM32MP157F-EV1
│       │   ├── FlashLayout_sdcard_stm32mp157a-dk1-basic.tsv            Flash layout file for microSD card and basic boot chain → STM32MP157A-DK1
│       │   ├── FlashLayout_sdcard_stm32mp157a-dk1-optee.tsv            Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157A-DK1
│       │   ├── FlashLayout_sdcard_stm32mp157a-dk1-trusted.tsv          Flash layout file for microSD card and trusted boot chain (recommended setup) → STM32MP157A-DK1
│       │   ├── FlashLayout_sdcard_stm32mp157f-dk2-basic.tsv            Flash layout file for microSD card and basic boot chain → STM32MP157F-DK2
│       │   ├── FlashLayout_sdcard_stm32mp157f-dk2-optee.tsv            Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157F-DK2
│       │   ├── FlashLayout_sdcard_stm32mp157f-dk2-trusted.tsv          Flash layout file for microSD card and trusted boot chain (recommended setup) → STM32MP157F-DK2
│       │   ├── FlashLayout_sdcard_stm32mp157f-ev1-basic.tsv            Flash layout file for microSD card and basic boot chain → STM32MP157F-EV1
│       │   ├── FlashLayout_sdcard_stm32mp157f-ev1-optee.tsv            Flash layout file for microSD card and trusted boot chain, with OP-TEE OS → STM32MP157F-EV1
│       │   └── FlashLayout_sdcard_stm32mp157f-ev1-trusted.tsv          Flash layout file for microSD card and trusted boot chain (recommended setup) → STM32MP157F-EV1
│       │   └── [...]
│       ├── scripts
│       │   └── create_sdcard_from_flashlayout.sh
│       ├── st-image-bootfs-openstlinux-weston-stm32mp1.ext4            Binary for bootfs partition
│       ├── st-image-userfs-openstlinux-weston-stm32mp1.ext4            Binary for userfs partition
│       ├── st-image-vendorfs-openstlinux-weston-stm32mp1.ext4          Binary for vendorfs partition
│       ├── st-image-weston-openstlinux-weston-stm32mp1.ext4            Binary for rootfs partition
│       ├── fip/                                                       FIP images flashed according flashlayout selected
│       ├── uImage                                                      Linux kernel binary image file (with U-Boot wrapper) for bootfs partition
│       ├── vmlinux                                                     Debug symbol file for Linux kernel
│       └── [...]
└── [...]