When /sbin/init (from sys-apps/sysvinit) is started with a kernel command line argument such as CONSOLE=/dev/tty1, the specified tty is used for text output instead of the foreground tty. Init forces this tty to be the controlling tty for all programs listed in inittab. When a program does not detach from this tty, it's killed at the end of the boot process. boinc doesn't detach itself from the its controlling tty, and thus doesn't work properly when ttys other than /dev/tty are used by init. The problem can be easily fixed by making boinc run in its own session -- ie. by changing: start-stop-daemon --quiet --start --exec ${BOINCBIN} --chuid ${USER}:${GROUP} --nicelevel ${NICELEVEL} -- ${ARGS} > ${LOGFILE} 2>&1 & to setsid start-stop-daemon --quiet --start --exec ${BOINCBIN} --chuid ${USER}:${GROUP} --nicelevel ${NICELEVEL} -- ${ARGS} > ${LOGFILE} 2>&1 &
Thanks for the suggestion. This is now in Portage.