cancel
Showing results for 
Search instead for 
Did you mean: 

How can I change booting logo image?

younghan
Associate III

Hello,

I want to change booting logo image on STM32MP135F-DK.

1. I checked first boot image.

(/boot/splash_landscape.bmp)

 

2. I want to change second boot image.

 

3. I checked after booting, backgroud image.
(/usr/share/weston/backgrounds/OpenSTLinux_background_1024x600.png)

thanks, reply.

1 ACCEPTED SOLUTION

Accepted Solutions
Erwan SZYMANSKI
ST Employee

Hello @younghan ,
Can you take a look at https://github.com/STMicroelectronics/meta-st-openstlinux/tree/mickledore/recipes-core/psplash ?

You will find different elements that helps you to understand what is necessary for the cross compilation of psplash-drm

If you take a more precise look at the Makefile :

SPLASH_IMG ?= OpenSTLinux_background_480x272.png
SPLASH_IMG_ROT ?= OpenSTLinux_background_480x272_rotation.png

all: modeset

generate_header: $(SPLASH_IMG) $(SPLASH_IMG_ROT)
	@gdk-pixbuf-csource --macros $(SPLASH_IMG) > image_header.tmp
	@(sed -e "s/MY_PIXBUF/SPLASH_IMG/g" -e "s/guint8/uint8_t/g" image_header.tmp > image_header.h && rm image_header.tmp)
	@gdk-pixbuf-csource --macros $(SPLASH_IMG_ROT) > image_header.tmp
	@(sed -e "s/MY_PIXBUF/SPLASH_IMG_ROT/g" -e "s/guint8/uint8_t/g" image_header.tmp >> image_header.h && rm image_header.tmp)

psplash:
	$(CC) $(CFLAGS) $(LDFLAGS) -o psplash-drm basic_splash_drm.c -I. `pkg-config --cflags --libs libdrm pixman-1 libpng` -Wall -Os

clean:
	rm -rf psplash-drm

You can see you have a rule to compile the psplash binary, and a one to generate the header. The header is the file called image_header.h in the folder tree. You can also see that you have this file already present by default.

Now if we take a look at the recipe psplash-drm.bb (in the do_compile task):

do_compile() {
    bbnote "EXTRA_OEMAKE=${EXTRA_OEMAKE}"
    oe_runmake clean
    oe_runmake psplash
}

You see that only the psplash rule is compiled, and not the header generation. So I think you will have to change the SPLASH_IMG and SPLASH_IMG_ROT in the Makefile first, then generate the header manually, to finally cross compile the binary.  I do not know if we have limitations with the resolution of the image, you will have to test different ones.

Kind regards,
Erwan.

 

 

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.

View solution in original post

5 REPLIES 5
Erwan SZYMANSKI
ST Employee

Hello @younghan ,
Please check the following topics that already deal with your ask : 

Kind regards,
Erwan.

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.

I understand use psplash image.

/usr/bin/psplash-drm.

 

but, how can I made psplash-drm image?

 

plese reply.

 

thanks.

Erwan SZYMANSKI
ST Employee

Hi @younghan ,
I advise you to check the following layer in Yocto layer/meta-st/meta-st-openstlinux/recipes-core/psplash/psplash-drm/ and check the way they install their other background image.

Kind regards,
Erwan

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.

Hello, I made psplash-drm image.

and upload /usr/bin/psplash-drm

Then, I checked change booting image.

 

but, display off after displayed about 20s change booting image.

and /home/weston/weston.log

 

root@stm32mp1:/home/weston# cat weston.log
Date: 2024-06-25 UTC
[15:19:58.793] weston 11.0.1
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 11.0.1
[15:19:58.794] Command line: /usr/bin/weston --modules=systemd-notify.so --log=/home/weston/weston.log --use-pixman
[15:19:58.794] OS: Linux, 6.1.28, #58 SMP PREEMPT Tue Jun 25 17:21:22 KST 2024, armv7l
[15:19:58.794] Flight recorder: enabled
[15:19:58.795] warning: XDG_RUNTIME_DIR "/home/weston" is not configured
correctly. Unix access mode must be 0700 (current mode is 0755),
and must be owned by the user UID 1000 (current owner is UID 1000).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[15:19:58.801] Using config file '/etc/xdg/weston/weston.ini'
[15:19:58.803] Output repaint window is 100 ms maximum.
[15:19:58.807] Loading module '/usr/lib/libweston-11/drm-backend.so'
[15:19:58.858] initializing drm backend
[15:19:58.858] Trying logind launcher...
[15:19:58.885] logind: session control granted
[15:19:58.910] logind: TakeDevice on 226:0 failed.
[15:19:58.911] logind: TakeDevice on /dev/dri/card0 failed, error=No such device
[15:19:58.915] no drm device found
[15:19:58.915] fatal: failed to create compositor backend
root@stm32mp1:/home/weston#

 

please reply, thanks.

Erwan SZYMANSKI
ST Employee

Hello @younghan ,
Can you take a look at https://github.com/STMicroelectronics/meta-st-openstlinux/tree/mickledore/recipes-core/psplash ?

You will find different elements that helps you to understand what is necessary for the cross compilation of psplash-drm

If you take a more precise look at the Makefile :

SPLASH_IMG ?= OpenSTLinux_background_480x272.png
SPLASH_IMG_ROT ?= OpenSTLinux_background_480x272_rotation.png

all: modeset

generate_header: $(SPLASH_IMG) $(SPLASH_IMG_ROT)
	@gdk-pixbuf-csource --macros $(SPLASH_IMG) > image_header.tmp
	@(sed -e "s/MY_PIXBUF/SPLASH_IMG/g" -e "s/guint8/uint8_t/g" image_header.tmp > image_header.h && rm image_header.tmp)
	@gdk-pixbuf-csource --macros $(SPLASH_IMG_ROT) > image_header.tmp
	@(sed -e "s/MY_PIXBUF/SPLASH_IMG_ROT/g" -e "s/guint8/uint8_t/g" image_header.tmp >> image_header.h && rm image_header.tmp)

psplash:
	$(CC) $(CFLAGS) $(LDFLAGS) -o psplash-drm basic_splash_drm.c -I. `pkg-config --cflags --libs libdrm pixman-1 libpng` -Wall -Os

clean:
	rm -rf psplash-drm

You can see you have a rule to compile the psplash binary, and a one to generate the header. The header is the file called image_header.h in the folder tree. You can also see that you have this file already present by default.

Now if we take a look at the recipe psplash-drm.bb (in the do_compile task):

do_compile() {
    bbnote "EXTRA_OEMAKE=${EXTRA_OEMAKE}"
    oe_runmake clean
    oe_runmake psplash
}

You see that only the psplash rule is compiled, and not the header generation. So I think you will have to change the SPLASH_IMG and SPLASH_IMG_ROT in the Makefile first, then generate the header manually, to finally cross compile the binary.  I do not know if we have limitations with the resolution of the image, you will have to test different ones.

Kind regards,
Erwan.

 

 

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.