On Jul 3, 2008, at 0:38, Eric Doviak <[EMAIL PROTECTED]> wrote:
Hi Luis,
After days of struggling with the "resume bug," I have finally found
a hack that fixes the problem. It's not ideal, but it squashes the
bug and it provides laptop users with a boot splash without
compromising the quality that desktop users currently enjoy.
Specifically, I started by adding the following code after line 44
of the "/usr/share/initramfs-tools/scripts/init-top/splashy" file:
if [ ! -z "${resume}" ]; then
SPLASH=false
fi
That condition allows me to resume from hibernation, but it causes
Splashy to start rather late in the boot sequence. Specifically, it
starts when the "init-bottom" scripts are run. Adding such a
condition to Splashy would be useful to laptop users, but the late
start would degrade Splashy in the eyes of desktop users.
I see no reason why desktop users should be penalized just to make
laptop users happy, so I created another condition that only runs
the condition above if "laptop" is passed as a kernel argument. The
code is below.
By creating a "laptop" kernel argument, desktop users would continue
to see a splash screen early in the boot sequence and laptop users
would get a user-space boot splash system that works during start-
up, shutdown, suspend and resume.
It certainly isn't the ideal solution that I had in mind a few days
ago (when I thought we could provide everyone with a splash screen
that starts early in the boot sequence), but it squashes the bug and
it makes Splashy usable for laptop users. Importantly, it achieves
those objectives without degrading Splashy's performance on desktop
computers.
Let me know if there's anything else I can do,
- Eric
SPLASH=false
LAPTOP=false
SINGLE=false
FBMODESET=false
for x in $(cat /proc/cmdline); do
case $x in
single)
SINGLE=true
;;
splash)
SPLASH=true
;;
laptop)
LAPTOP=true
;;
nosplash)
SPLASH=false
;;
vga=*|video=*)
FBMODESET=true
;;
esac
done
test $LAPTOP != "true" || if [ ! -z "${resume}" ]; then
SPLASH=false ; fi
test $SINGLE = "false" || exit
test $SPLASH = "true" || exit
test $FBMODESET = "true" || exit
When $resume is not set, does Splashy start from initramfs init-top?
Why does Splashy starts "late"?