cancel
Showing results for 
Search instead for 
Did you mean: 

Disable meta-qt5 layer (openstlinux-5.4-dunfell-mp1-20-06-24)

RZ
Associate II

Hi, I'm trying to make a headless system using the STM32MP153 and I would like to disable all graphical layers in the standard distribution.

I'm using openstlinux-5.4-dunfell-mp1-20-06-24 (ECO V2 I believe)

I have made my-own distro layer and was able to bitbake st-image-core

( have added to my own_distro.conf file:

DISTRO_FEATURES_remove = " wayland "

DISTRO_FEATURES_remove = " x11 "

)

Next step is to remove the graphical layers starting with qt5

If I do a bitbake-layers show-layers I don't want to find meta-qt5 (or meta-gnome, meta-xfce)

Question: how do I do that?

BTW I'm using the STM32MP157C evaluation board to get my headless distro up and running.

7 REPLIES 7
Olivier GALLIEN
ST Employee

Hi @RZ​ 

I'm not sure to get your request .

st-image-core is a very basic image which already exclude the mention wayland, x111 or QT framework.

So even if layers are present in your distro .. they will not be part of generated image.

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
RZ
Associate II

Hello Olivier,

Maybe a bit of background to explain what I'm trying to do.

I'm not an expert in yocto and all the software stacks that are build on it. But I'm trying to be 🙂 Best way to do that IMO is work with it. I also have a project that I need to get working.

So to understand what is going on I like to simplify things.

The most simple starting point is a core distribution that has just enough to support the st-image-core image (including SDK/developer distribution generation).

Adding layers is very well documented but removing stuff is not.

So I want to have my-own-core-distribution with which I can generate the st-image-core image without any distracting packages included (bitbake-layers show-layers). From that I can learn how it all works together and start adding layers to it or make my-own-image (again which is very well documented).

Since my project doesn't include any graphical UI I would like to start by removing all the graphical packages, to simplify my-own-code distribution.

Thank for your help.

Olivier GALLIEN
ST Employee

Hi @RZ​ ,

For creating a new distro we provide this page :

https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_distribution

Does it help ?

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
RZ
Associate II

Hello Olivier,

That is exactly what I did.

After adding my-own-distro I do

>> DISTRO=openstlinux-my-own-distro MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh

>> bitbake st-image-core

works fine.

However if I then do

>> bitbake-layers show-layers

The meta-gnome, meta-qt5, meta-xfce show up. I don't want that. They shouldn't be in my distribution at all.

Olivier GALLIEN
ST Employee

Hi @RZ​ 

Did you try

DISTRO_FEATURES_remove = " opengl"

?

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
RZ
Associate II

Hello,

I found the answer, well almost.

Since I copied parts of the original distro when creating my-own I also copied a file "bblayers.conf.sample" and in that file I can remove the lines including gnome and xfce

BASELAYERS ?= " \

   ${OEROOT}/layers/meta-openembedded/meta-gnome \

   ${OEROOT}/layers/meta-openembedded/meta-xfce \

In that same file I can disable the line

# Qt5

ADDONSLAYERS += "${@'${OEROOT}/layers/meta-qt5' if os.path.isfile('${OEROOT}/layers/meta-qt5/conf/layer.conf') else ''}"

If I then delete the file bblayers.conf in the build/conf directory

(and run >> DISTRO=openstlinux-my-own-distro MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh)

it almost works

In the layet/meta-st-meta-st-openlinux/conf/layer.conf file I find a line

LAYERDEPENDS_st-openstlinux = "qt5-layer"

If I disable that line the command bitbake-layers show-layer doesn't show the gnome, xfce and qt5 layers anymore. mission accomplished.

There is only 1 question remaining.

Because I don't want to edit the layet/meta-st-meta-st-openlinux/conf/layer.conf file directly I wonder if there is an other way to override that LAYERDEPENDS variable in my-own distro?

 EDIT: strictly speaking the st-openstlinux layer doesn't depend on the qt5-layer if I want a st-image-core image

Christophe Guibout
ST Employee

Hi @RZ​ ,

In meta-st/scripts/envsetup.sh, bblayers.conf.sample is selected from $DISTRO (see get_templateconf() function).

So as you selected your DISTRO, you should load bblayers.conf.sample from your DISTRO instead of meta-st-openlinux ("openstlinux-weston")

When you mentionned "it almost works", could you please elaborate a bit more ?

I would cross-check the DISTRO value, and/or check if there is an error displayed when loading the DISTRO.

BR,

Christophe

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.