[Splashy-devel] Bug#462626: Yay! fixed it!
John Hughes
john at Calva.COM
Thu Apr 3 14:49:15 UTC 2008
Ok, so working on my theory that the problems were caused by init
interfering with splashy's use of the console I tried patching directfb
to close and reopen the console if it gets a zero length read.
This works in testing, but when I tried it on a real boot things failed
again, strace showed:
549 nanosleep({0, 10}, <unfinished ...>
292 <... read resumed> "", 64) = 0
292 close(1) = 0
292 open("/dev/tty8", O_RDWR|O_NOCTTY) = -1 ENOENT (No such file or directory)
292 open("/dev/vc/8", O_RDWR|O_NOCTTY) = -1 ENOENT (No such file or directory)
292 _exit(0)
I.E. the keyboard reading thread couldn't find the console virtual
terminal, so it's giving up in disgust.
Ponder, ponder, EUREKA!
splashy is started from the initramfs, by the time init zaps the console
the initramfs has been cleaned out, so splashy should be trying to open
the console on the root filesystem.
splashy needs a function to tell it to chroot into the root filesystem
when it has been mounted. I implemented a splashy_update "chroot dir"
command, and run it from /scripts/init-bottom.
AND IT WORKS!
Summary of changes needed:
1. /etc/init.d/splashy needs to do
stty -icanon -clocal
if splashy is already running.
2. directfb needs to be patched to close & reopen the console if it gets
a zero-length read.
3. splashy needs a "chroot" command.
4. the scripts/init-bottom/splashy script needs to tell splashy to do
the chroot.
Patches attached.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: directfb.patch
Type: text/x-patch
Size: 4790 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/splashy-devel/attachments/20080403/779ad585/attachment.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: splashy_chroot.patch
Type: text/x-patch
Size: 752 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/splashy-devel/attachments/20080403/779ad585/attachment-0001.bin
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: init-bottom-splashy
Url: http://lists.alioth.debian.org/pipermail/splashy-devel/attachments/20080403/779ad585/attachment.txt
More information about the Splashy-devel
mailing list