So after doing some more digging I've learned that plymouth is shut down
by the init script although it's not clear to me why it's called after
the KDM init script in runlevel 2: 

l430:/etc/rc2.d$ ls -l|grep kdm
lrwxrwxrwx 1 root root 13 Sep 3 13:30 S18kdm -> ../init.d/kdm
l430:/etc/rc2.d$ ls -l|grep plym
lrwxrwxrwx 1 root root 18 Sep 16 19:58 S20plymouth -> ../init.d/plymouth


Perhaps plymouth should be S18 or lower, or just called directly from
the display manager script? 

On my system I'm able to get it working by removing the
"--retain-splash" switch from the command that tells plymouth to quit
from the init script: 

--- plymouth 2013-09-16 20:24:57.333642119 -0400
+++ /root/plymouth-dist 2013-09-16 20:04:09.621027891 -0400
@@ -41,7 +41,7 @@
 start)
 case "${SPLASH}" in
 true)
- /bin/plymouth quit
+ /bin/plymouth quit --retain-splash
 ;;
 esac
 ;;

This allows my system to boot and KDM to start but doesn't give the
smooth transition that plymouth documentation talks about. There's a
black screen for a while with the KDE cursor. 

It seems like there may be some steps missing from the Debian init
scripts for plymouth. Reading "INSTALL" in the plymouth-0.8.8 sources it
mentions: 

"Right after you mount the root file system (but before you switch to
it), run

plymouth --newroot=/wherevertherootismounted

This tells plymouth it can load some files off the real filesystem
(like fonts, and stuff we don't want to stick in the initrd).

while boot you need to run plymouth --update=some-milestone-id

periodically to update the progress bar.

When / is mounted read-write you need to run

plymouth --sysinit"

But grep doesn't find "newroot" or "sysinit" in any of my init scripts
in /etc/init.d. I can't find documentation saying why these steps are
required but maybe they make "--retain-splash" work? 

As a quick test I added "plymouth --sysinit" to /etc/init.d/mountall.sh
which didn't make a difference for me. 

Keith. 

 

Reply via email to