Registered User mNo edit summary |
Registered User No edit summary |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ApplicableFor | |||
|MPUs list=STM32MP13x, STM32MP15x, STM32MP21x, STM32MP23x, STM32MP25x | |||
|MPUs checklist=STM32MP13x, STM32MP15x, STM32MP21x, STM32MP23x, STM32MP25x | |||
}} | |||
<noinclude></noinclude> | |||
==Article purpose== | ==Article purpose== | ||
The purpose of this article is to describe the basic steps required to create your own distribution.<br> | The purpose of this article is to describe the basic steps required to create your own distribution.<br> | ||
Line 6: | Line 11: | ||
==Creating your own distribution== | ==Creating your own distribution== | ||
As recommended in Yocto user manual <ref name="Yocto mega manual"> | As recommended in Yocto user manual <ref name="Yocto mega manual">{{DocSource | domain=Yocto Project | path=singleindex.html#creating-your-own-distribution | text=Yocto Megamanual Creating your own distribution}}</ref>, you may create your own distribution in order not to alter any original distribution Metadata, while gaining more control over package alternative selections, compile-time options, and other low-level configurations. | ||
Line 17: | Line 22: | ||
===Creating the distribution configuration file=== | ===Creating the distribution configuration file=== | ||
Some configuration examples are provided in ST distribution under: | Some configuration examples are provided in ST distribution under: {{STLightGreen|''<path of OpenSTLinux distribution delivery>''}}'''/meta-st/meta-st-openstlinux/conf/distro/*.conf''' | ||
===Providing miscellaneous variables=== | ===Providing miscellaneous variables=== | ||
Some miscellaneous variable examples are provided under : | Some miscellaneous variable examples are provided under : {{STLightGreen|''<path of OpenSTLinux distribution delivery>''}}'''/meta-st/meta-st-openstlinux/conf/distro/include/st-default-distro*.inc files''' | ||
Line 29: | Line 34: | ||
│ ├── openstlinux.inc | │ ├── openstlinux.inc | ||
│ ├── {{HighlightParam|st-default-distro-providers.inc}} | │ ├── {{HighlightParam|st-default-distro-providers.inc}} | ||
│ | │ └── {{HighlightParam|st-default-distro-rules.inc}} | ||
├── openstlinux-eglfs.conf | ├── openstlinux-eglfs.conf | ||
├── {{HighlightParam|openstlinux-weston.conf}} | ├── {{HighlightParam|openstlinux-weston.conf}} | ||
└── [...] | └── [...] | ||
Line 44: | Line 48: | ||
* any other append files to make custom changes | * any other append files to make custom changes | ||
Some examples of such add-on components can be found in | Some examples of such add-on components can be found in {{STLightGreen|''<path of OpenSTLinux distribution delivery>''}}'''/meta-st/meta-st-openstlinux, you will retrieve some examples of these addons.'''<br> | ||
ST has already added some recipes (*bbappend) in openstlinux-weston distribution for configuring, patching, ... (non-exhaustive list shown below): | ST has already added some recipes (*bbappend) in openstlinux-weston distribution for configuring, patching, ... (non-exhaustive list shown below): | ||
Line 63: | Line 67: | ||
If you want to use the meta-st-stm32mp layer with a core image (nodistro mode), please apply the following steps to manage the dependencies between layers: | If you want to use the meta-st-stm32mp layer with a core image (nodistro mode), please apply the following steps to manage the dependencies between layers: | ||
{{PC$}} source layers/openembedded-core/oe-init-build-env | {{PC$}}source layers/openembedded-core/oe-init-build-env | ||
{{PC$}} bitbake-layers add-layer ../layers/meta-openembedded/meta-oe | {{PC$}}bitbake-layers add-layer ../layers/meta-openembedded/meta-oe | ||
{{PC$}} bitbake-layers add-layer ../layers/meta-openembedded/meta-python | {{PC$}}bitbake-layers add-layer ../layers/meta-openembedded/meta-python | ||
{{PC$}} bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mp | {{PC$}}bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mp | ||
{{PC$}} bitbake core-image-base or bitbake core-image-minimal | {{PC$}}bitbake core-image-base or bitbake core-image-minimal | ||
==Reference list== | ==Reference list== |
Latest revision as of 12:51, 5 November 2024
1. Article purpose[edit | edit source]
The purpose of this article is to describe the basic steps required to create your own distribution.
2. Prerequisites[edit | edit source]
OpenSTLinux distribution must be installed and into the board Flash memory(ies).
3. Creating your own distribution[edit | edit source]
As recommended in Yocto user manual [1], you may create your own distribution in order not to alter any original distribution Metadata, while gaining more control over package alternative selections, compile-time options, and other low-level configurations.
The basic steps for creating a distribution are detailed in the below chapter.
More details can be found in Yocto Mega manual/Creating your own distribution[1].
3.1. Creating a layer for a new distro[edit | edit source]
Please read the How to create a new open embedded layer article.
3.2. Creating the distribution configuration file[edit | edit source]
Some configuration examples are provided in ST distribution under: <path of OpenSTLinux distribution delivery>/meta-st/meta-st-openstlinux/conf/distro/*.conf
3.3. Providing miscellaneous variables[edit | edit source]
Some miscellaneous variable examples are provided under : <path of OpenSTLinux distribution delivery>/meta-st/meta-st-openstlinux/conf/distro/include/st-default-distro*.inc files
All meta-st-openstlinux distro layer configuration files presented above are located here:
distro ├── include │ ├── exception-gplv3.inc │ ├── openstlinux.inc │ ├── st-default-distro-providers.inc │ └── st-default-distro-rules.inc ├── openstlinux-eglfs.conf ├── openstlinux-weston.conf └── [...]
3.4. Adding more to the layer if necessary[edit | edit source]
More add-on component examples:
- recipes for installing distro-specific configuration files
- any image recipes specific to user distribution
- a psplash append file for a branded splash screen
- any other append files to make custom changes
Some examples of such add-on components can be found in <path of OpenSTLinux distribution delivery>/meta-st/meta-st-openstlinux, you will retrieve some examples of these addons.
ST has already added some recipes (*bbappend) in openstlinux-weston distribution for configuring, patching, ... (non-exhaustive list shown below):
- recipes-benchmark for glmark2
- recipes-connectivity for bluez5
- recipes-core for busybox
- recipes-graphics for weston-init
...
Some other added components (*bb) are more specific: images, system services, ... (non-exhaustive list shown below):
- recipes-core for psplash screen, systemd services
- recipes-samples for example images
- recipes-security for OP-TEE userland part
...
3.5. Use of meta-st-stm32mp with a core image[edit | edit source]
If you want to use the meta-st-stm32mp layer with a core image (nodistro mode), please apply the following steps to manage the dependencies between layers:
source layers/openembedded-core/oe-init-build-env
bitbake-layers add-layer ../layers/meta-openembedded/meta-oe
bitbake-layers add-layer ../layers/meta-openembedded/meta-python
bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mp
bitbake core-image-base or bitbake core-image-minimal
4. Reference list[edit | edit source]