1. Article purpose[edit source]
The purpose of this article is to describe the basic steps required to create your own distribution.
2. Prerequisites[edit source]
OpenSTLinux distribution must be installed and into the board Flash memory(ies).
3. Creating your own distribution[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 source]
Please read the How to create a new open embedded layer article.
3.2. Creating the distribution configuration file[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 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 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 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:
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-python PC $> bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mp PC $> bitbake core-image-base or bitbake core-image-minimal
4. Reference list[edit source]