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.