Git Product home page Git Product logo

meta-st-stm32mp-oss's Introduction

Summary

meta-st-stm32mp-oss BSP layer is a layer containing the STMicroelectronics bsp metadata for upstream versions of stm32mp.

This layer relies on OpenEmbedded/Yocto build system that is providing through Bitbake and OpenEmbedded-Core layers or Poky layer all parts of the Yocto Project

The Yocto Project has extensive documentation about OE including a reference manual which can be found at:

For information about OpenEmbedded, see the OpenEmbedded website:

Important NOTE

This layer is provided to help the communities to use upstream softwares on STM32MP boards.
This layer is not targeted to be used to generate final product SW release.

This layer is designed to update and test upstream code on STM32MP boards:

  • Linux kernel (recipes-recipes-kernel/linux/linux-stm32mp-oss_x.xx.bb)
  • Arm Trusted Firmware (TF-A) (recipes-bsp/trusted-firmware-a/tf-a-stm32mp-oss_x.x.bb)
  • U-Boot (recipes-bsp/u-boot/u-boot-stm32mp-oss_xxxx.xx.bb)
  • Optee-os (recipes-security/optee/optee-os-stm32mp-oss_x.xx.x.bb)
    • The component associated to optee-os MUST be aligned to optee-os version:
      • Optee-client (recipes-security/optee/optee-client-oss_x.xx.x.bb)
      • Optee-test (recipes-security/optee/optee-test-oss_x.xx.x.bb)

See section How to update opensource component

For helping the test of EFI boot, some recipes coming from https://github.com/jiazhang0/meta-secure-core are incorporated on this layer (efitools and sbsigntools).

No support. STMicroelectronics is under no obligation to support the layer and or to provide you with updates or error corrections.

Using the meta-st-stm32mp-oss BSP layer, you acknowledge that the Software may have defects or deficiencies which cannot or will not be corrected by STMicroelectronics .

Layer Dependency

This layer depends on:

[OECORE]
  URI: https://github.com/openembedded/openembedded-core.git
  layers: meta
  branch: same dedicated branch as meta-st-stm32mp
  revision: HEAD
[BITBAKE]
  URI: https://github.com/openembedded/bitbake.git
  branch: branch associated to oecore branch
  revision: HEAD

or

[OECORE]
  URI: git://git.yoctoproject.org/poky
  layers: meta
  branch: same dedicated branch as meta-st-stm32mp-oss
  revision: HEAD
[META-OPENEMBEDDED]
  URI: git://github.com/openembedded/meta-openembedded.git
  layers: meta-python meta-oe
  branch: same dedicated branch as meta-st-stm32mp-oss
  revision: HEAD

The dependency (meta-python) are due to the usage of OPTEE which require to use some python packages.

EULA

Some SoC depends on firmware and/or packages that are covered by STMicroelectronics EULA. To have the right to use those binaries in your images you need to read and accept the EULA available as:

conf/eula/$MACHINE, e.g. conf/eula/stm32mp1

In order to accept it, you should add, in your local.conf file:

ACCEPT_EULA_$MACHINE = "1", e.g.: ACCEPT_EULA_stm32mp1 = "1"

If you do not accept the EULA the generated image will be missing some components and features.

OSS: How to

Get all repositories with ST manifest:

 repo init -u https://github.com/STMicroelectronics/oe-manifest.git
 repo sync
 git clone https://github.com/STMicroelectronics/meta-st-stm32mp-oss layers/meta-st/meta-st-stm32mp-oss
 cd layers/meta-st/meta-st-stm32mp-oss
 git checkout -b OSS origin/<branch associated to openembedded-core>
 cd -

For stm32mp15-disco-oss

 MACHINE=stm32mp15-disco-oss DISTRO=openstlinux-weston source layers/meta-st/scripts/envsetup.sh

 bitbake st-image-weston

 cd tmp-glibc/deploy/images/stm32mp15-disco-oss/
 # flash wic image on your board:
 dd if=st-image-weston-openstlinux-weston-stm32mp15-disco-oss.wic of=/dev/mmcblk0 bs=8M conv=fdatasync

For stm32mp15-eval-oss

 MACHINE=stm32mp15-eval-oss DISTRO=openstlinux-weston source layers/meta-st/scripts/envsetup.sh

 bitbake st-image-weston

 cd tmp-glibc/deploy/images/stm32mp15-eval-oss/
 # flash wic image on your board:
 dd if=st-image-weston-openstlinux-weston-stm32mp15-eval-oss.wic of=/dev/mmcblk0 bs=8M conv=fdatasync

Get all repositories manually:

mkdir -p layers/meta-st
git clone https://github.com/openembedded/openembedded-core.git layers/openembedded-core
cd layers/openembedded-core
git checkout -b WORKING <origin/<branch associated to meta-st-stm32mp-oss>
cd -

git clone https://github.com/openembedded/bitbake.git layers/openembedded-core/bitbake
cd layers/openembedded-core/
git checkout -b WORKING origin/<branch: branch associated to openembbedded-core branch>
cd -

git clone git://github.com/openembedded/meta-openembedded.git layers/meta-openembedded
cd layers/meta-openembedded
git checkout -b WORKING origin/<branch: branch associated to openembbedded-core branch>
cd -

git clone https://github.com/STMicroelectronics/meta-st-stm32mp-oss layers/meta-st/meta-st-stm32mp-oss
cd layers/meta-st/meta-st-stm32mp-oss
git checkout -b OSS origin/<branch associated to openembedded-core>
cd -

For stm32mp15-disco-oss


 source ./layers/openembedded-core/oe-init-build-env build-stm32mp15-disco-oss

 bitbake-layers add-layer ../layers/meta-openembedded/meta-oe
 bitbake-layers add-layer ../layers/meta-openembedded/meta-perl
 bitbake-layers add-layer ../layers/meta-openembedded/meta-python
 bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mp-oss

 echo "MACHINE = \"stm32mp15-disco-oss\"" >> conf/local.conf
 echo "DISTRO = \"nodistro\"" >> conf/local.conf
 echo "PACKAGE_CLASSES = \"package_deb\" " >> conf/local.conf

 bitbake core-image-base

 cd tmp-glibc/deploy/images/stm32mp15-disco-oss/
 # flash wic image on your board:
 dd if=core-image-base-stm32mp15-disco-oss.wic of=/dev/mmcblk0 bs=8M conv=fdatasync

For stm32mp15-eval-oss

 MACHINE=stm32mp15-eval-oss DISTRO=openstlinux-weston source layers/meta-st/scripts/envsetup.sh
 bitbake-layers add-layer ../layers/meta-openembedded/meta-oe
 bitbake-layers add-layer ../layers/meta-openembedded/meta-perl
 bitbake-layers add-layer ../layers/meta-openembedded/meta-python
 bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mp-oss

 echo "MACHINE = \"stm32mp15-eval-oss\"" >> conf/local.conf
 echo "DISTRO = \"nodistro\"" >> conf/local.conf
 echo "PACKAGE_CLASSES = \"package_deb\" " >> conf/local.conf

 bitbake core-image-base

 cd tmp-glibc/deploy/images/stm32mp15-eval-oss/
 # flash wic image on your board:
 dd if=core-image-base-stm32mp15-eval-oss.wic of=/dev/mmcblk0 bs=8M conv=fdatasync

OSS: How to update opensource component

See description of component update

OSS: Boot strategy

See description of boot strategy

Supported board

Board supported:

  • STM32MP157C-DK2 via stm32mp15-disco-oss machine
  • STM32MP157F-DK2 via stm32mp15-disco-oss machine
  • STM32mp157C-EV1 via stm32mp15-eval-oss machine
  • STM32mp157F-EV1 via stm32mp15-eval-oss machine

NOTE: The software generated for a C package boards are compilatible for board which contains F package:

  • Software for STM32MP157C-DK2 can be used on STM32MP157F-DK2
  • Software for STM32MP157C-EV1 can be used on STM32MP157F-EV1

Go futher

Limitation

The features and boards supported depend on upstream status for each component used.

Contributing

If you want to contribute changes, you can send Github pull requests at https://github.com/stmicroelectronics/meta-st-stm32mp-oss/pulls.

Maintainers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.