Issue while building custom Plymouth theme on Verdin AM62

Hi,

I’m trying to add a custom splash screen using Plymouth on the Verdin AM62.
I created a custom meta-layer with a .bbappend file to include our logo and update the spinner.plymouth configuration. However, the build fails when I try to compile the Plymouth recipe directly.

Could you please confirm the correct approach to build or include Plymouth for a custom splash screen in the Toradex Yocto BSP?
I’ve attached my plymouth_%.bbappend, spinner.plymouth, and layer files for reference.

meta-custom/
├── conf
│   └── layer.conf
├── COPYING.MIT
├── README
└── recipes-core
    └── plymouth
        ├── files
        │   ├── spinner.plymouth
        │   └── teckinsoft_neuronics_private_limited_logo.png
        └── plymouth_%.bbappend

4 directories, 6 files
udaykumar@SYS-TK01:/mnt/yocto_build/toradex-verdin-am62mp/layers$ cat meta-custom/recipes-core/plymouth/files/spinner.plymouth 
[plymouth Theme]
Name=Torizon Custom Spinner
Description=Custom Splash Screen
ModuleName=script

[script]
ImageDir=/usr/share/plymouth/themes/spinner
ScriptFile=/usr/share/plymouth/themes/spinner/spinner.script

udaykumar@SYS-TK01:/mnt/yocto_build/toradex-verdin-am62mp/layers$ cat meta-custom/recipes-core/plymouth/plymouth_%.bbappend 
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"

SRC_URI += " \
	file://teckinsoft_neuronics_private_limited_logo.png \
	file://spinner.plymouth \
"

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

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

in local.conf
CORE_IMAGE_EXTRA_INSTALL += "plymouth"

Error i got

ERROR: Nothing RPROVIDES 'dracut' (but /mnt/yocto_build/toradex-verdin-am62mp/build/../layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_24.004.60.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'dracut' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['dracut']
ERROR: Required build target 'plymouth' has no buildable providers.
Missing or unbuildable dependency chain was: ['plymouth', 'dracut']

Summary: There were 2 ERROR messages, returning a non-zero exit code.
udaykumar@SYS-TK01:/mnt/yocto_build/toradex-verdin-am62mp/layers$ cd ../

Thanks,
Uday

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Hello Uday,

I can help you resolve the Plymouth splash screen configuration for your Verdin AM62. The error you’re encountering is related to a missing dependency (dracut) that’s required by the Plymouth recipe.

Solution for the Build Error

The dracut dependency error can be resolved by ensuring your Yocto build environment includes the necessary layers. Based on the Toradex documentation, you need to follow the proper setup for Plymouth integration(1).

Correct Approach for Plymouth Integration

1. Layer Structure

Your layer structure looks correct, following the recommended pattern from the documentation(1):

meta-custom/
├── conf
│   └── layer.conf
├── COPYING.MIT
├── README
└── recipes-core
    └── plymouth
        ├── files
        │   ├── spinner.plymouth
        │   └── teckinsoft_neuronics_private_limited_logo.png
        └── plymouth_%.bbappend

2. Required Configuration Files

The spinner.plymouth file should follow this format(1):

[plymouth Theme]
Name=Torizon Custom Spinner
Description=Custom Splash Screen
ModuleName=script

[script]
ImageDir=/usr/share/plymouth/themes/spinner
ScriptFile=/usr/share/plymouth/themes/spinner/spinner.script

3. Build Configuration

In your conf/local.conf, ensure you have(1):

CORE_IMAGE_EXTRA_INSTALL += "plymouth"

4. Layer Dependencies

Make sure your meta-custom/conf/layer.conf includes proper dependencies. The build system needs access to the layers that provide Plymouth and its dependencies.

Addressing the Dracut Error

The dracut dependency issue suggests that your build environment may be missing required layers or the Plymouth recipe is trying to use features not available in your current configuration.

Recommended Steps:

  1. Verify Layer Configuration: Ensure all required layers are included in your build/conf/bblayers.conf(1)
  2. Check Recipe Dependencies: The Plymouth recipe may need additional configuration for the Verdin AM62 platform
  3. Build Environment: Make sure you’re using the proper Toradex BSP setup as described in the build documentation(2)

Alternative Approach for Torizon OS

If you’re using Torizon OS instead of the Yocto BSP, consider using the TorizonCore Builder tool, which provides a more streamlined approach for splash screen customization(3). This method handles dependencies automatically and is specifically designed for production use.

Debugging Steps

  1. Verify that your build environment is properly set up according to the Toradex BSP documentation(2)
  2. Check if all required meta-layers are included in your configuration
  3. Consider building a base image first without Plymouth to ensure your environment is working
  4. Then add Plymouth step by step following the documented procedure(1)

The documentation shows that Plymouth integration requires careful attention to the build environment setup and layer dependencies. The approach you’re following is correct, but the build environment may need adjustment to resolve the dependency issues.

Best regards,
Toradex AI Assistant.


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

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hello @Uday10122 ,
Did you follow as suggested by ToradexAI?
Is the issue solved?