Registered User mNo edit summary |
Registered User No edit summary |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{ApplicableFor | |||
|MPUs list=STM32MP13x, STM32MP15x | |MPUs list=STM32MP13x, STM32MP15x, STM32MP21x, STM32MP23x, STM32MP25x | ||
|MPUs checklist=STM32MP13x,STM32MP15x | |MPUs checklist=STM32MP13x, STM32MP15x, STM32MP21x, STM32MP23x, STM32MP25x | ||
}}</noinclude> | }} | ||
<noinclude></noinclude> | |||
== Article purpose == | == Article purpose == | ||
This article provides guidelines to install a software package containing binaries (e.g. tools) not present by default in the OpenSTLinux distribution.<br/> | This article provides guidelines to install a software package containing binaries (e.g. tools) not present by default in the OpenSTLinux distribution.<br/> | ||
Line 11: | Line 12: | ||
* Downloading application source code via git clone (tarball or repo git) | * Downloading application source code via git clone (tarball or repo git) | ||
* Compiling the application (very often with basic '''make''' command) | * Compiling the application (very often with basic '''make''' command) | ||
:- Please ensure [[ | :- Please ensure [[STM32MPU Developer Package#Starting up the SDK|SDK environment for compiling Linux application]] setup is ready | ||
:- Refer to ''<Linux kernel installation directory>/README.HOW_TO.txt'' helper file to know how to compile (the latest version of this helper file is also available in GitHub: {{CodeSource | meta-st-stm32mp | recipes-kernel/linux/linux-stm32mp/README.HOW_TO.txt | README.HOW_TO.txt}}). | :- Refer to ''<Linux kernel installation directory>/README.HOW_TO.txt'' helper file to know how to compile (the latest version of this helper file is also available in GitHub: {{CodeSource | meta-st-stm32mp | recipes-kernel/linux/linux-stm32mp/README.HOW_TO.txt | README.HOW_TO.txt}}). | ||
Line 19: | Line 20: | ||
* Deploying the application on board | * Deploying the application on board | ||
Check where the generated binaries/libraries have been installed and push them onto the board. | Check where the generated binaries/libraries have been installed and push them onto the board. | ||
{{PC$}} scp -r {{ | {{PC$}}scp -r {{HighlightParam|''<application_install_folder>''}}/* root@{{HighlightParam|''<board ip address>''}}:/{{HighlightParam|''<dest_path>''}} | ||
== Using the STM32MPU Embedded Software Distribution Package == | == Using the STM32MPU Embedded Software Distribution Package == | ||
Line 25: | Line 26: | ||
* Identifying the recipe building and installing the application/package you need | * Identifying the recipe building and installing the application/package you need | ||
:- More often search this recipe either in layer openembedded-core/meta/ either in layers meta-openembedded/meta-*/ | :- More often search this recipe either in layer openembedded-core/meta/ either in layers meta-openembedded/meta-*/ | ||
:- If no existing recipe, you have to create and copy it in your own customer layer: refer to "Writing a New Recipe"<ref name=>{{DocSource | domain=Yocto Project | path=dev-manual/ | :- If no existing recipe, you have to create and copy it in your own customer layer: refer to "Writing a New Recipe"<ref name=>{{DocSource | domain=Yocto Project | path=/dev-manual/new-recipe.html | text=Writing a new recipe}}</ref> and [[How to create your own distribution]] | ||
:- Check if the layer containing the recipe is currently in use and so can be compiled, if not you have this error : | :- Check if the layer containing the recipe is currently in use and so can be compiled, if not you have this error : | ||
{{PC$}} bitbake {{ | {{PC$}}bitbake {{HighlightParam|''<recipe name>''}} | ||
{{red|ERROR: Nothing PROVIDES '<recipe name>. Close matches:}} | {{red|ERROR: Nothing PROVIDES '<recipe name>. Close matches:}} | ||
* Checking if the layer containing the recipe is currently in use | * Checking if the layer containing the recipe is currently in use | ||
The command to show the layers currently in your build: | The command to show the layers currently in your build: | ||
{{PC$}} bitbake-layers show-layers | {{PC$}}bitbake-layers show-layers | ||
It outputs a list of the layers currently in use, and their priorities. If a package exists in two or more layers, it will be built from the layer with the higher priority. | It outputs a list of the layers currently in use, and their priorities. If a package exists in two or more layers, it will be built from the layer with the higher priority. | ||
Line 49: | Line 50: | ||
* Installing the package for the targetted image, for instance : | * Installing the package for the targetted image, for instance : | ||
{{PC$}} echo 'IMAGE_INSTALL_append += "{{ | {{PC$}}echo 'IMAGE_INSTALL_append += "{{HighlightParam|''<recipe name>''}}"' >> meta-st/meta-st-openstlinux/recipes-st/images/st-image-weston.bbappend | ||
* Rebuilding the image: | * Rebuilding the image: | ||
{{PC$}} bitbake st-image-weston | {{PC$}}bitbake st-image-weston | ||
* Updating your board with new image binaries. See [[ | * Updating your board with new image binaries. See [[STM32MPU Distribution Package#Flashing the built image|Flashing the built image]]. | ||
== References == | == References == |
Latest revision as of 18:16, 5 November 2024
1. Article purpose[edit | edit source]
This article provides guidelines to install a software package containing binaries (e.g. tools) not present by default in the OpenSTLinux distribution.
This installation can be done either by using a Yocto recipe in the scope of a STM32MPU Embedded Software Distribution Package or either by cloning an existing tarball or repo git in the scope of a STM32MPU Embedded Software Developer Package.
2. Using the STM32MPU Embedded Software Developer Package[edit | edit source]
Following basic steps to be done :
- Downloading application source code via git clone (tarball or repo git)
- Compiling the application (very often with basic make command)
- - Please ensure SDK environment for compiling Linux application setup is ready
- - Refer to <Linux kernel installation directory>/README.HOW_TO.txt helper file to know how to compile (the latest version of this helper file is also available in GitHub: README.HOW_TO.txt ).
- Installing the application (very often with basic make install command)
- - Refer to application README file to know how to install
- Deploying the application on board
Check where the generated binaries/libraries have been installed and push them onto the board.
<application_install_folder>/* root@<board ip address>:/<dest_path>PC $>scp -r
3. Using the STM32MPU Embedded Software Distribution Package[edit | edit source]
Following steps to be done:
- Identifying the recipe building and installing the application/package you need
- - More often search this recipe either in layer openembedded-core/meta/ either in layers meta-openembedded/meta-*/
- - If no existing recipe, you have to create and copy it in your own customer layer: refer to "Writing a New Recipe"[1] and How to create your own distribution
- - Check if the layer containing the recipe is currently in use and so can be compiled, if not you have this error :
<recipe name> ERROR: Nothing PROVIDES '<recipe name>. Close matches:PC $>bitbake
- Checking if the layer containing the recipe is currently in use
The command to show the layers currently in your build:
PC $>bitbake-layers show-layers
It outputs a list of the layers currently in use, and their priorities. If a package exists in two or more layers, it will be built from the layer with the higher priority.
If the recipe is not contained in the list of layers, you must add the layer containing this recipe inside the bbalyers.conf.sample of the distro you have selected.
For instance for distro openstlinux, bblayers file is located here :
* meta-st/meta-st-openstlinux/conf/template/bblayers.conf.sample
So for instance, to add meta-qt5 layer, just copy/paste this line in bblayers file :
* ADDONSLAYERS += "${@'${OEROOT}/meta-qt5' if os.path.isfile('${OEROOT}/meta-qt5/conf/layer.conf') else ''}"
- Installing the package for the targetted image, for instance :
<recipe name>"' >> meta-st/meta-st-openstlinux/recipes-st/images/st-image-weston.bbappendPC $>echo 'IMAGE_INSTALL_append += "
- Rebuilding the image:
PC $>bitbake st-image-weston
- Updating your board with new image binaries. See Flashing the built image.
4. References[edit | edit source]