Last edited 4 years ago

How to create your own distribution

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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
├── openstlinux-x11.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:

 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 source]