[Splashy-devel] Splashy: initramfs done (?)

Luis lemsx1 at gmail.com
Mon Sep 25 05:51:59 UTC 2006


Hello all,

This is just to inform you that my work to get the bug of "running
splashy from initramfs" fixed is done. This is what needs to be done
in order to use Splashy from initramfs:

1. edit /etc/default/splashy and set ENABLE_INITRAMFS
2. run update-initramfs -u to allow our hook script to do the right thing
3. do not use splashy-init, use trunk/scripts/etc/lsb-base-logging.sh
which has to be copied to /etc/lsb-base-logging.sh (hint:  update-rc.d
-f splashy-init remove). (note to self: we need to remove splashy-init
from being installed in the debian package and in our distrib tarball.
splashy-update-progress-steps and lsb-base-logging.sh will take over
that role)
4. cp scripts/splashy-update-progress-steps to /etc/init.d and do:
update-rc.d splashy-update-progress-steps stop 01 0 6 .
5. patch /etc/init.d/keymap.sh and /etc/init.d/console-screen.sh like:
#!/bin/sh
pidof splashy > /dev/null && exit 0
...
In other words, if splashy is running, do not bother to run keymap.sh
(which stops splashy and waits for input in tty2) or console-screen.sh
(which stops splashy and only CTRL+C seems to work on tty2).
/etc/lsb-base-logging.sh will do the right thing and run these scripts
again when the percentage goes to 100% (when gdm/kdm/xdm calls
log_msg_end() or when X is detected running, our percentage goes to
100% automatically)

As of now lsb-base-logging.sh is logging to /tmp/splashy.log a few
things just to keep track of the system performance and the progress
state. This will be improved before release (splashy 0.2).

There are a few things that bother me (if you have answers, please provide):

1. splashy seems to launch 7 processes when running from initramfs.
not sure if the main thread never exits or if it's because the
processes from initramfs can't fork()
2. splashy uses almost 100% of the CPU during boot. i still don't know
why is this, but that only happens from initramfs
3. splashy never gets to 100% progress. right before rmlogin is
supposed to run, the system waits too long and splashy just exits,
which means that console-screen and keymap don't get fixed and some
splashy processes are left running (ps ax | grep splashy shows about 5
of them)
4. splashy now runs on tty8, this creates a problem when using
"splashy test" as it doesn't go back to the terminal from which we
started
5. splashy-update-progress-steps need to be run from
/etc/rcS.d/S01splashy-update-progress-steps or another script... and
it should do:

if runlevel is 0 or 6,
  see if splashy is not running and launch it with shutdown as argument
  then continue saving the scripts that make up the progress in
/lib/splashy/$RUNLEVEL-progress

if runlevel is S
  see if splashy is not running and launch it with boot as argument,
  then exit (because the filesystem is probably read-only and we can't calculate
  the progress steps needed, as they need to be saved in /lib/splashy/*)

I hope I'm not missing something here. I'll add more as we go. If we
get these minor issues resolved, we can release splashy as 0.2 and
move on with life.

-- 
----)(-----
Luis Mondesi
*NIX Guru

Kiskeyix.org

"We think basically you watch television to turn your brain off, and
you work on your computer when you want to turn your brain on" --
Steve Jobs in an interview for MacWorld Magazine 2004-Feb

No .doc: http://www.gnu.org/philosophy/no-word-attachments.es.html



More information about the Splashy-devel mailing list