Custom Splash Screen Images#
The BSP loads startup screen graphics at three stages. This ensures that product information is displayed as quickly and consistently as possible. These stages are the bootloader, the Linux kernel, and pslash. This guide assumes that a custom Yocto Layer, as described, has already been created.
Image Size and File Names#
The following table shows the image size corresponding to the display resolution of the different devices.
Device |
Image Size |
Bootloader Filename |
|---|---|---|
DPP-LHC70-8P |
1024 x 600 |
logo-LHC70-8P.bmp |
DPP-LHC101-8P |
1280 x 800 |
logo-LHC101-8P.bmp |
DPP-LHC121-8P |
1280 x 800 |
logo-LHC121-8P.bmp |
DPP-XHC50 |
800 x 480 |
logo-LMB-8P-800.bmp |
DPP-XHC70 |
1024 x 600 |
logo-LMB-8P-1024.bmp |
DPP-XHC80 |
1024 x 768 |
logo-LMB-8P-1024_768.bmp |
DPP-XHC101 |
1280 x 800 |
logo-LMB-8P-1280.bmp |
DPP-XHC121 |
1280 x 800 |
logo-LMB-8P-1280.bmp |
HDMI Panel |
depending on Device (e.g. 1920 x 1080) |
not supported |
Bootloader Splash Screen#
The bootloader splash screen file is delivered by the receipt dp-bootup-logo_0.1.bb. To add your custom image, create a .bmp file (format: 24 Bit (R8 G8 B8)) with the desired display resolution. Subsequently, create the folder recipes-graphics/bootup-logo/files within your Custom Yocto Layer and copy the image file into it.
cd <CUSTOM-LAYER-DIRECTORY>
mkdir -p recipes-graphics/bootup-logo/files
cp <YOUR-IMAGE-FILE.bmp> recipes-graphics/bootup-logo/files/
Next, create the file recipes-graphics/bootup-logo/dp-bootup-logo_%.bbappend with the following content.
# file: <CUSTOM-LAYER-DIRECTORY>/recipes-graphics/bootup-logo/dp-bootup-logo_%.bbappend
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
# Set your custom splash screen image file name
BL_SPLASH_SOURCE_FILE = "<YOUR-IMAGE-FILE.bmp>"
# e.g. BL_SPLASH_SOURCE_FILE = "custom_bl_splash_image.bmp"
# Set the target filename corresponding to the device [Image Size and File Names]
# with your image file (e.g. logo-LHC70-8P.bmp)
BL_SPLASH_TARGET_FILE = "<Bootloader Filename>"
# e.g. BL_SPLASH_TARGET_FILE = "logo-LHC70-8P.bmp"
SRC_URI += "file://${BL_SPLASH_SOURCE_FILE}"
do_install:append () {
install -m 0644 ${WORKDIR}/${BL_SPLASH_SOURCE_FILE} ${D}/boot/${BL_SPLASH_TARGET_FILE}
}
Linux Kernel Splash Screen#
To enable the splash screen at the early stage of kernel loading, the Linux Kernel must be patched. If you prefer not to patch the Kernel and want to see the Linux Tux Logo instead, add the following line to your layer.conf file.
# file: <CUSTOM-LAYER-DIRECTORY>/conf/layer.conf
# DON'T USE CUSTOM KERNEL SPLASH SCREEN PATCH (SHOW THE TUX LOGO)
LINUX_DO_SPLASH_SCREEN_PATCH = "False"
Otherwise, create a .png file with the desired display resolution containing your custom splash screen. Subsequently, create the folder recipes-kernel/linux/logos within your Custom Yocto Layer and copy the image file into it.
cd <CUSTOM-LAYER-DIRECTORY>
mkdir -p recipes-kernel/linux/logos
cp <YOUR-IMAGE-FILE.png> recipes-kernel/linux/logos/
Next, create the file recipes-kernel/linux/linux-compulab_6.6.52.bbappend with the following content.
# file: <CUSTOM-LAYER-DIRECTORY>/recipes-kernel/linux/linux-compulab_6.6.52.bbappend
FILESEXTRAPATHS:prepend := "${THISDIR}/logos:"
KERNEL_SPLASH_SOURCE_FILE = "<YOUR-IMAGE-FILE.png>"
# e.g. KERNEL_SPLASH_SOURCE_FILE = "custom_kernel_splash_image.png"
KERNEL_LOGO_SRC:forcevariable = "${KERNEL_SPLASH_SOURCE_FILE}"
PSplash Screen#
PSplash provides a splash screen including a progress bar, which is loaded in user space. The same .png image, which is used for the Linux kernel, can be used. Please consider the position of the progress bar, which is automatically implemented as an overlay.
Use the previous or create a .png file with the desired display resolution with your custom splash screen. Subsequently, create the folder recipes-graphics/psplash/files within your Custom Yocto Layer and copy the image file into it.
cd <CUSTOM-LAYER-DIRECTORY>
mkdir -p recipes-graphics/psplash/files
cp <YOUR-IMAGE-FILE.png> recipes-graphics/psplash/files/
Next, create the file recipes-graphics/psplash/psplash_git.bbappend with the following content.
# file: <CUSTOM-LAYER-DIRECTORY>/recipes-graphics/psplash/psplash_git.bbappend
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
PSPLASH_SOURCE_FILE = "<YOUR-IMAGE-FILE.png>"
# e.g. PSPLASH_SOURCE_FILE = "custom_psplash_image.png"
SPLASH_IMAGES:forcevariable = "file://${PSPLASH_SOURCE_FILE};outsuffix=default"