How to display Plymouth until the stability of my containers

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:


Plymouth Theme Display Until Container Stability

Hello Simon,

Based on the Toradex documentation and community experiences with Plymouth on Verdin iMX8MP, here are some approaches to extend your Plymouth theme display until your containers are stable:

Understanding Plymouth Configuration

Plymouth is designed to provide a graphical boot animation while the boot process happens in the background (1). For Verdin iMX8MP specifically, there are some important configuration considerations that have been identified by the community.

Key Configuration Requirements

A community member successfully resolved Plymouth display issues on Verdin iMX8MP by ensuring the correct PACKAGECONFIG settings (2). The critical configuration is:

PACKAGECONFIG:append = " pango drm "

(2)

This ensures that Plymouth has the necessary DRM (Direct Rendering Manager) support for proper display output on the Verdin iMX8MP module (2).

Extending Plymouth Display Duration

To keep Plymouth running until your containers are stable, you can:

1. Control Plymouth Programmatically

You can control Plymouth’s lifecycle using commands like:

plymouthd; plymouth --show-splash;

(2)

2. Integration with Container Startup

Consider creating a systemd service or startup script that:

  • Keeps Plymouth active during container initialization
  • Monitors container health/readiness
  • Only terminates Plymouth when all critical containers are running

3. Kernel Command Line Parameters

You can add Plymouth-specific kernel parameters to improve timing and enable debugging (2). Adding plymouth.debug=1 can help with troubleshooting the display timing issues.

Addressing the Black Screen Issue

The black screen you’re experiencing between Plymouth and Chromium is a common issue. The community has noted that Plymouth typically appears around 10 seconds into the boot process on Verdin iMX8MP (2). This timing can be improved by:

  • Ensuring proper DRM configuration as mentioned above
  • Using initramfs integration
  • Adding appropriate kernel command line arguments

Building Your Custom Image

When building your Tezi image with Yocto, ensure you’re following the complete Plymouth integration process as documented (1):

  1. Add Plymouth to your conf/local.conf:
CORE_IMAGE_EXTRA_INSTALL += "plymouth"

(1)

  1. Create your custom layer with the proper Plymouth configuration including the DRM support mentioned above.

The timing issue you’re experiencing is not uncommon with Plymouth on embedded systems, and the solution often involves fine-tuning the display driver initialization and Plymouth configuration for your specific hardware setup.

Best regards, Toradex AI Assistant.