On Mon, Apr 07, 2008 at 01:06:46AM +0200, Samuel Thibault wrote:
> Anton Zinoviev, le Wed 10 Oct 2007 01:37:01 +0300, a écrit :
> > Regarding #443606, the reason this problem happens is the following
> > fragment in /etc/init.d/console-screen.kbd.sh:
> > 
> >     if [ "$RUNLEVEL" = S ]; then
> >         LIST_CONSOLES=0
> >     elif [ -z "$LIST_CONSOLES" ]; then
> >         #  Wait for getty to provide TTYs
> >         sleep 3
> >         LIST_CONSOLES=`sed -e '/^ *#/d' /etc/inittab | grep 'tty[0-9]*$' | 
> > awk -
> > F: '{printf "%s ", $1}'`
> >     fi
> > 
> > I have no idea why if RUNLEVEL is S (and it is S when the script is
> > invoked), then only the first console is configured.
> 
> Maybe the intent was actually 1 (i.e. single user mode, in which only
> the first console is used), but then console-screen.kbd.sh should be
> also called in other levels, i.e. debian/rules should rather contain
> something like
> 
> dh_installinit --init-script=console-screen.kbd.sh -r -u"start 01 1 2 3 4 5."

The special behaviour for runlevel S was introduced in April 2006.  This
is the then-maintainer’s explanation for it:

        debian/console-screen.kbd.sh: When this script is run, only the
        first TTY is created, so all other TTYs have no settings.  A
        workaround is to add

          u8:23:once:/etc/init.d/console-screen.kbd.sh reload

        in /etc/inittab so that this script is run again after TTYs are
        allocated.  […]

        WARNING: this is still experimental!

        -- Denis Barbier <[EMAIL PROTECTED]>

The suggested workaround seems quirky to me, though, as this would add
another font change to the startup process; we already have enough of
them, see #443645.

> console-screen.kbd.sh should just drop the if [ "$RUNLEVEL" = S ] case.

… as well as the “sleep 3” command.  The part of the script we are
dealing with here was obviously intended to initialize the first console
very early during the boot process, and then doing all the others when
the gettys are ready—the code for the latter has never been implemented.
I’ll see about getting rid of the $RUNLEVEL = S case, as initializing
all used consoles should always work.

Best regards,
-- 
Michael Schutte <[EMAIL PROTECTED]>

Attachment: signature.asc
Description: Digital signature

Reply via email to