Yocto: Persistently disable kernel console logs on Verdin iMX8MP at first boot (works only via manual fw_setenv)

Fix the FBV Dependency Error

The error occurs because fbv package doesn't exist in your BSP. Based on the Toradex documentation for splash screens, we should use Plymouth instead, which is the recommended approach for splash screen implementation [(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen).

Corrected Splash Screen Recipe

The documentation shows how to properly implement Plymouth-based splash screens [(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen). Here's the corrected recipe:

1. Update recipes-graphics/splash-screen/splash-screen_1.0.bb:

SUMMARY = "Custom splash screen for kernel framebuffer"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = “file://splash-logo.bmp”

S = “${WORKDIR}”

do_install() {
install -d ${D}/usr/share/pixmaps

# Install logo for Plymouth and kernel
install -m 0644 ${WORKDIR}/splash-logo.bmp ${D}/usr/share/pixmaps/splash-logo.bmp

# Create a simple framebuffer display script
install -d ${D}/usr/bin
cat > ${D}/usr/bin/show-splash << 'EOF'

#!/bin/sh

Simple framebuffer splash display

if [ -c /dev/fb0 ]; then
# Clear screen and show logo using kernel framebuffer
echo 0 > /sys/class/graphics/fbcon/cursor_blink
cat /usr/share/pixmaps/splash-logo.bmp > /dev/fb0 2>/dev/null || true
fi
EOF
chmod +x ${D}/usr/bin/show-splash
}

FILES:${PN} = “/usr/share/pixmaps/splash-logo.bmp /usr/bin/show-splash”

Remove fbv dependency - not available in BSP

2. Alternative: Plymouth-Based Approach

The documentation provides a complete Plymouth implementation [(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen). Create a Plymouth-based splash screen instead:

Create recipes-core/plymouth/plymouth_%.bbappend:

FILESEXTRAPATHS:prepend := "${THISDIR}/files:"

SRC_URI += "
file://splash-logo.bmp
file://spinner.plymouth
"

EXTRA_OECONF += “–with-runtimedir=/run”

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

[(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen)

Create recipes-core/plymouth/files/spinner.plymouth:

[Plymouth Theme]
Name=Spinner
Description=A theme that features a simple spinner
ModuleName=two-step

[two-step]
Font=Liberation Sans 12
TitleFont=Liberation Sans 15
ImageDir=/usr/share/plymouth/themes/spinner
DialogHorizontalAlignment=.013
DialogVerticalAlignment=.052
TitleHorizontalAlignment=.52
TitleVerticalAlignment=.80
HorizontalAlignment=.52
VerticalAlignment=.73
WatermarkHorizontalAlignment=.5
WatermarkVerticalAlignment=.96
Transition=none
TransitionDuration=0.0
BackgroundStartColor=0x2e3436
BackgroundEndColor=0x2e3436
BackgroundDirection=vertical
ProgressBarColor=0xffffff
ProgressBarBackgroundColor=0x606060
MessageBelowAnimation=true

[(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen)

3. Enable Plymouth in Your Image

The documentation shows how to add Plymouth to your build [(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen). Add to your conf/local.conf:

CORE_IMAGE_EXTRA_INSTALL += "plymouth"

[(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen)

4. Simplified Kernel Logo Approach

For a simpler solution focusing on kernel logo display, update your splash screen recipe to avoid external dependencies:

SUMMARY = "Custom splash screen for kernel framebuffer"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = “file://splash-logo.bmp”

S = “${WORKDIR}”

do_install() {
install -d ${D}/usr/share/pixmaps
install -m 0644 ${WORKDIR}/splash-logo.bmp ${D}/usr/share/pixmaps/splash-logo.bmp
}

FILES:${PN} = “/usr/share/pixmaps/splash-logo.bmp”

No external dependencies

Key Fixes

  1. Removed fbv dependency - Not available in your BSP
  2. Added Plymouth support - The recommended approach from Toradex documentation [(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen)
  3. Simplified framebuffer approach - Direct kernel logo display without external tools
  4. Proper file installation - Following Toradex Plymouth implementation patterns [(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen)

The Plymouth approach is the official Toradex method for splash screens and will provide better integration with your silent boot configuration [(1)](https://developer.toradex.com/linux-bsp/os-development/boot/how-to-add-custom-splash-screen/#adding-a-custom-splash-screen).

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.