- Package:
- console-common
- Source:
- console-common
- Submitter:
- martin f krafft
- Date:
- 2013-08-26 03:51:07 UTC
- Severity:
- important
With a default UTF-8 locale and the standard kernel command line for
remote serial consoles:
root=/dev/md2 ro console=tty0 console=ttyS0,9600n8r
the boot will hang when /etc/init.d/console-screen.sh runs
unicode_start, which it tries to apply to the second console, the
serial port.
Even though manual invocation via the getty on ttyS0 causes an error
(separate bug about the syntax stuff forthcoming):
bell:~# sh -x =unicode_start
+ '[' '!' -e /proc/self/fd/0 ']'
+ readlink /proc/self/fd/0
+ grep -q -e /dev/vc -e '/dev/tty[^p]' -e /dev/console
+ '[' 0 -eq 1 ']'
+ /usr/bin/vt-is-UTF8 --quiet
vt-is-UTF8: vt-is-UTF8 only runs on linux virtual terminals
Usage: vt-is-UTF8 [option]
valid options are:
-q --quiet don't print result
-h --help display this help text and exit
-V --version display version information and exit
+ kbd_mode -u
+ dumpkeys
+ loadkeys --unicode
+ case $# in
+ '[' -d /dev/vc ']'
+ DEVICE_PREFIX=/dev/tty
++ fgconsole --next-available
Couldn't read VTNO: : Invalid argument
+ NUM=
++ expr - 1
expr: syntax error
+ NUM=
+ '[' -eq 1 ']'
/usr/bin/unicode_start: line 54: [: -eq: unary operator expected
++ seq 1
+ for vc in '`seq 1 ${NUM}`'
+ /bin/echo -n -e '\033%G'
the boot sequence hangs on invocation of unicode_start and can only
be resumed by
- pressing ctrl-c in the serial terminal
or
- hitting enter or the physical keyboard attached.
I don't know of a proper fix to this but could test if you wanted me
to. If the serial console cannot be clearly identified, I should be
given a way to disable UTF-8 on consoles altogether, without having
to change my system locale.
clone 514253 -1 retitle -1 unicode_start code duplicated between console-screen and keymap initscripts reassign -1 console-common console-tools severity -1 normal reassign 514253 console-common thanks The problem is actually in S05keymap.sh, part of console-common, but probably also in console-screen.sh. The problem is identical, it seems.
Hi, as a "workaround" you could install the console-setup package (I tried 1.53, but older versions might work, too) which replaces the functionality of /etc/init.d/keymap.sh from console-common and does no longer cause the boot process to be interactive for serial console UTF-8 setups (previously requiring Ctrl-C to abort a blocking unicode_start). Andreas
Just to confirm this still happens with Debian 7.0:
root@proxmox6:~# apt-cache policy console-tools
console-tools:
Installed: 1:0.2.3dbs-70
Candidate: 1:0.2.3dbs-70
Version table:
*** 1:0.2.3dbs-70 0
500 http://mirror.aarnet.edu.au/pub/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status
1:0.2.3dbs-69.1 0
500 http://mirror.aarnet.edu.au/pub/debian/ squeeze/main amd64 Packages
As mentioned by Andreas installing console-setup works around
this issue:
console-setup:
Installed: 1.88
Candidate: 1.88
Version table:
*** 1.88 0
500 http://mirror.aarnet.edu.au/pub/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status
1.68+squeeze2 0
500 http://mirror.aarnet.edu.au/pub/debian/ squeeze/main amd64 Packages