From 2e7732b4d297e57841c45a9394f4ca4792f2103e Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Thu, 13 Aug 2026 00:16:37 +0100 Subject: [PATCH] Live Media Plymouth Support Allows the use of bootsplashes in the Gentoo live media like the good 'ld days of fbsplash. This is only enabled if livecd/plymouth: is used in the livecd stag2. If unset then the old expected behaviour of just showing the kernel boot messages happens. This requires plymouth and the theme to be installed in stage1 so it can be setup by Catalyst. Plymouth is verbose enough to not require the use of extra error messages to inform of mistakes made by the user. Signed-off-by: Ian Jordan --- catalyst/targets/livecd_stage2.py | 1 + doc/catalyst-spec.5.txt | 5 +++++ targets/livecd-stage2/controller.sh | 7 +++++++ 3 files changed, 13 insertions(+) diff --git a/catalyst/targets/livecd_stage2.py b/catalyst/targets/livecd_stage2.py index 6f1eb5bc..079444be 100644 --- a/catalyst/targets/livecd_stage2.py +++ b/catalyst/targets/livecd_stage2.py @@ -30,6 +30,7 @@ class livecd_stage2(StageBase): "livecd/modblacklist", "livecd/motd", "livecd/overlay", + "livecd/plymouth", "livecd/rcadd", "livecd/rcdel", "livecd/readme", diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt index 3a74ee1c..bc580949 100644 --- a/doc/catalyst-spec.5.txt +++ b/doc/catalyst-spec.5.txt @@ -191,6 +191,11 @@ when the ISO image is used as (USB) disk image. This option has no effect (other then making the ISO image larger) when the ISO is burned to an optical medium. +*livecd/plymouth*:: +Set by using the Plymouth theme directory in /usr/share/plymouth/themes +name. This will include a bootsplash in live media +Requires both plymouth and theme to be installed with the stage1. + *livecd/volid*:: This option sets the volume ID of the CD created (example: `Gentoo Linux 2006.1 X86`). diff --git a/targets/livecd-stage2/controller.sh b/targets/livecd-stage2/controller.sh index 2b27a92c..8b8ba230 100755 --- a/targets/livecd-stage2/controller.sh +++ b/targets/livecd-stage2/controller.sh @@ -12,6 +12,13 @@ case $1 in shift export kname="$1" + # Set the plymouth theme if set, before the kernel so it is + # included in dracut. + if [ -n "${clst_livecd_plymouth}" ] + then + chroot ${clst_chroot_path} plymouth-set-default-theme "${clst_livecd_plymouth}" + fi + [ -n "${clst_linuxrc}" ] && \ copy_to_chroot ${clst_linuxrc} /tmp/linuxrc exec_in_chroot ${clst_shdir}/support/kmerge.sh