Kernel splash screen not showing in BSP 5.2.0

Hi @jars121,

I am working with Colibri iMX8X so my implementation may vary a little from Apalis iMX8 setup, but all general steps should be the same. Also, I am working with RGB display. It seems to me that you are doing everything correctly. Unfortunately, details matter. Steps below work well with BSP 5.4.0 and 5.5.0` Linux kernel is 5.4-2.3.3.

  • A kernel fragment (.cfg) to set CONFIG_LOGO_CUSTOM_CLUT224=y was created.
  • Fragment used in custom layer in recipes-kernel/linux/linux-toradex_5.4-2.3.x.bbappend like this
     SRC_URI += "\
         file://Custom-logo.cfg \
         file://logo_custom_clut224.ppm \
     "
    
  • My RGB display is small (640x480), so the .ppm file has resolution 600x450
  • The .ppm file is installed in linux-toradex_5.4-2.3.x.bbappend like this
     SAVEDIR:="${THISDIR}/linux-toradex-5.4-2.3.x"
     addtask do_after_unpack after do_unpack before do_configure
     do_after_unpack() {
      cp "${SAVEDIR}/logo_custom_clut224.ppm" "${WORKDIR}/git/drivers/video/logo/logo_custom_clut224.ppm"
    }
    
  • U-boot configuration in include/configs/colibri-imx8x.h was updated:
--- a/include/configs/colibri-imx8x.h
+++ b/include/configs/colibri-imx8x.h
@@ -93,6 +93,7 @@
 	"finduuid=part uuid mmc ${mmcdev}:2 uuid\0" \
 	"image=Image\0" \
 	"initrd_addr=0x83800000\0" \
+	"setupargs=vt.global_cursor_default=0 consoleblank=0 console=ttyLP3,115200\0" \
 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
 		"root=PARTUUID=${uuid} rootwait " \
 	"mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \

Make sure that ‘console’ has correct parameters. Yours may be different.

To be clear, I started working on the kernel logo implementation when I was sure my custom DTS file enables my custom display and the default console output together with default Tux logos can be seen. The variable setupargs blocks the console output on the display completely. Then, replacing the logo with your image should be enough.

Best regards,
John