I think I know how to fix this bug. ... Of course, knowing how to fix the bug and being able to fix the bug are two totally different things.

If I understand correctly ... When the "vga=791 splash" arguments are passed to the kernel, some of the first scripts that the initial RAM disk runs is a script that starts the framebuffer ("init-top/framebuffer") and a script that checks to see if Splashy should start ("init-top/splashy").

Later, the initial RAM disk checks to see if there's a hibernation image from which to resume "local-premount/{resume,uswsusp}". If it detects a resume image, then it loads the resume image. The trouble then occurs because the resume image also contains Splashy.

So if you could move (some of) the checks for the resume image into the the "init-top/splashy" script and cause the "init-top/splashy" script to exit if it detects a resume image, then:

   * on a boot following a complete shutdown, the "init-top/splashy"
     script would start Splashy
   * on a boot following hibernation, the "init-top/splashy" script
     would exit and allow the resume features to start Splashy

That would provide the best of both worlds! A userspace bootsplash that starts early in the boot sequence and a bootsplash that is capable of working with hibernation!

I hope this helps! Please let me know if there's anything else I can do!

Thanks,
- Eric


Reply via email to