How to replace U-Boot boot messages with a splash screen on Verdin AM62 (Mallow carrier board)

Hello,

I am working on a Verdin AM62 with the Mallow carrier board.
I have already built the reference multimedia image successfully.

What I would like to do is:

  • Instead of showing the usual U-Boot boot messages on the display, I want to directly show a splash screen during boot.
  • I would also like to know the correct way to add my own custom splash screen (logo/image).

Could you please guide me on how to configure this?

  • Do I need to enable any specific U-Boot configuration or device tree setting?
  • Should I use a Linux bootsplash solution (like psplash or Plymouth), or can this be handled directly in U-Boot?
  • What is the recommended way to add/replace the splash screen for the Toradex BSP on Verdin AM62?
  • What is the recommended method for adding or replacing the splash screen on the Toradex BSP for Verdin AM62? I am a bit confused between these two approaches
    Custom splash screen
    Splash screen on u-boot

Thanks in advance!

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Custom Splash Screen Configuration for Verdin AM62 with Mallow Carrier Board

For your Verdin AM62 with Mallow carrier board setup, you have several options for implementing a custom splash screen. Let me guide you through the recommended approaches.

Recommended Approach: Plymouth for Linux Boot

The recommended solution for BSP 7.x.y is to use Plymouth, which provides a graphical boot animation during the Linux boot process (1). Starting from BSP 6, the Linux Kernel splashscreen support has been dropped, and Plymouth is the recommended alternative (2).

Setting up Plymouth with Custom Splash Screen

  1. Add Plymouth to your build by modifying your conf/local.conf file (1):
CORE_IMAGE_EXTRA_INSTALL += "plymouth"

(1)

  1. Create a custom layer structure in your layers directory (1):
$ cd layers/meta-custom
$ mkdir recipes-core && mkdir recipes-core/plymouth
$ tree
.
├── conf
│   └── layer.conf
├── COPYING.MIT
├── README
└── recipes-core
    └── plymouth

(1)

  1. Add your custom image and configuration files (1):
$ tree
.
├── conf
│   └── layer.conf
├── COPYING.MIT
├── README
└── recipes-core
    └── plymouth
        └── files
           ├── spinner.plymouth
           └── torizonlogo-white.png

(1)

  1. Create the Plymouth append recipe (plymouth_%.bbappend) (1):
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"

SRC_URI += " \
    file://torizonlogo-white.png \
    file://spinner.plymouth \
"

EXTRA_OECONF += "--with-runtimedir=/run"

do_install:append () {
    install -m 0644 ${WORKDIR}/torizonlogo-white.png ${D}${datadir}/plymouth/themes/spinner/watermark.png
    install -m 0644 ${WORKDIR}/spinner.plymouth ${D}${datadir}/plymouth/themes/spinner/spinner.plymouth
}

(1)

Alternative: U-Boot Splash Screen

If you prefer to show a splash screen directly in U-Boot (before Linux starts), you can use the U-Boot splash functionality (3).

U-Boot Splash Screen Setup

For U-Boot splash screens, you can store your logo on a FAT partition and configure U-Boot to display it automatically (3):

setenv splashfile /boot/logo.bmp
setenv splashsource mmc_fs
saveenv
reset

(3)

The supported values for splashsource are (3):

  • mmc_fs
  • usb_fs

Image Requirements for U-Boot

When preparing images for U-Boot splash screens, convert your PNG to BMP format with specific requirements (3):

convert testlogo.png -type Palette -colors 224 -depth 8 -compress none -verbose BMP3:testlogo.bmp

(3)

Important: 8-bit depth is a requirement for U-Boot splash screens (3).

Splash Screen Positioning

You can adjust the splash screen position using the splashpos variable (3):

setenv splashpos <x>,<y>

(3)

To center the splash screen:

setenv splashpos m,m

(3)

Configuration Considerations

  • Plymouth Overview: Plymouth runs very early in the boot process and provides a graphical boot animation while the actual boot process happens in the background (1)
  • Hardware Compatibility: Plymouth is designed for systems with DRM modesetting drivers and ensures consistent display mode throughout the boot process (1)
  • Message Handling: Plymouth can hide boot messages, which can be revealed by pressing the escape key during boot (1)

Recommendation

For your Verdin AM62 with Mallow carrier board, I recommend using Plymouth as it’s the current standard for BSP 7.x.y and provides better integration with modern Linux systems (1)(2). The U-Boot splash screen approach is still valid if you specifically need the splash to appear before Linux starts.

Best regards, Toradex AI Assistant.