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

Luis lemsx1 at gmail.com
Sun Oct 8 10:14:26 UTC 2006


Just to revive this thread...

I did a few last minute touches to Splashy scripts to do the right
thing at boot and shutdown. This means that we no longer need
splashy-init, we can do everything with the LSB functions! (Thanks Tim
for that great functionality). I moved the rest of the old information
to scripts/legacy. Just in case people in other UNIX flavors need them
for inspirational purposes.

Splashy is ready for prime time now. In my vmware Sid installation,
Splashy started correctly from rcS.d/S01splashy (which is
scripts/splashy-update-progress-steps renamed).

Tim,
the reason why Splashy added 90 seconds to your boot process is
because after S99rc.local the rest of the scripts don't call lsb*
functions at all. This means the progress will never be set to 100%
and Splashy never exits, which means that Splashy will timeout
listening for events after 120 seconds of waiting. We can solve this
in various ways, for now I set a rule in our lsb-base-logging.sh file
so that when S99rc.local is found, progress is set to 100% and exit
routines apply.
Note that this exit routine will be (or should be, i have not tested
this yet) done earlier on systems running X (gdm/xdm/kdm).

Now, the reason why splashy takes 100% of the CPU seems to be tied to
these 3 things:
1. keymap.sh
2. console-screen.sh
3. console switching while Splashy is running

There is no simple way to solve these 3 problems. Here is what we are
currently doing:

patch keymap.sh and console-screen.sh so that they are not run while
Splashy is running (as noted earlier):

#!/bin/sh
pidof splashy > /dev/null && exit 0
...

and for the final one, we do not allow chvt's to take place until
Splashy reaches 100% in the progressbar (according to it's detection
routines) and Splashy is sent an exit command: splashy_update exit.
After that I do something like:

# wait until splashy exits before changing tty's
                    while `pidof splashy > /dev/null`; do
                        sleep 0.2
                    done
                    # do some magic with the TTYs
                    if test -z "$CHVT_TTY"; then
                        CHVT_TTY=1
                    fi
                    # detect X, if not, go to CHVT_TTY
                    X11_RUNNING=0
                    pidof X > /dev/null && X11_RUNNING=1
                    if [ $X11_RUNNING -eq 1 ]; then
                        splashy_chvt 7
                    else
                        splashy_chvt $CHVT_TTY
                    fi

very basic, and it works.

I'll upload a package to alioth shortly, and since we have a meeting
today, we will discuss the release of Splashy 0.2 and inclusion in
Etch.

Please attend the meeting today.

-- 
----)(-----
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