Commit 3855ae1c authored by Clemens Ladisch's avatar Clemens Ladisch Committed by Greg Kroah-Hartman

vt: make the default color configurable

The virtual console has (undocumented) module parameters to set the
colors for italic and underlined text, but the default text color was
hardcoded for some reason.  This made it impossible to change the color
for startup messages, or to set the default for new virtual consoles.
Add a module parameter for that, and document the entire bunch.

Any hacker who thinks that a command prompt on a "black screen with
white font" is not supicious enough can now use the kernel parameter
vt.color=10 to get a nice, evil green.
Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b2755b76
...@@ -3322,6 +3322,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. ...@@ -3322,6 +3322,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
them quite hard to use for exploits but them quite hard to use for exploits but
might break your system. might break your system.
vt.color= [VT] Default text color.
Format: 0xYX, X = foreground, Y = background.
Default: 0x07 = light gray on black.
vt.cur_default= [VT] Default cursor shape. vt.cur_default= [VT] Default cursor shape.
Format: 0xCCBBAA, where AA, BB, and CC are the same as Format: 0xCCBBAA, where AA, BB, and CC are the same as
the parameters of the <Esc>[?A;B;Cc escape sequence; the parameters of the <Esc>[?A;B;Cc escape sequence;
...@@ -3361,6 +3365,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted. ...@@ -3361,6 +3365,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
overridden by individual drivers. 0 will hide overridden by individual drivers. 0 will hide
cursors, 1 will display them. cursors, 1 will display them.
vt.italic= [VT] Default color for italic text; 0-15.
Default: 2 = green.
vt.underline= [VT] Default color for underlined text; 0-15.
Default: 3 = cyan.
watchdog timers [HW,WDT] For information on watchdog timers, watchdog timers [HW,WDT] For information on watchdog timers,
see Documentation/watchdog/watchdog-parameters.txt see Documentation/watchdog/watchdog-parameters.txt
or other driver-specific files in the or other driver-specific files in the
......
...@@ -2809,8 +2809,10 @@ static void con_shutdown(struct tty_struct *tty) ...@@ -2809,8 +2809,10 @@ static void con_shutdown(struct tty_struct *tty)
console_unlock(); console_unlock();
} }
static int default_color = 7; /* white */
static int default_italic_color = 2; // green (ASCII) static int default_italic_color = 2; // green (ASCII)
static int default_underline_color = 3; // cyan (ASCII) static int default_underline_color = 3; // cyan (ASCII)
module_param_named(color, default_color, int, S_IRUGO | S_IWUSR);
module_param_named(italic, default_italic_color, int, S_IRUGO | S_IWUSR); module_param_named(italic, default_italic_color, int, S_IRUGO | S_IWUSR);
module_param_named(underline, default_underline_color, int, S_IRUGO | S_IWUSR); module_param_named(underline, default_underline_color, int, S_IRUGO | S_IWUSR);
...@@ -2832,7 +2834,7 @@ static void vc_init(struct vc_data *vc, unsigned int rows, ...@@ -2832,7 +2834,7 @@ static void vc_init(struct vc_data *vc, unsigned int rows,
vc->vc_palette[k++] = default_grn[j] ; vc->vc_palette[k++] = default_grn[j] ;
vc->vc_palette[k++] = default_blu[j] ; vc->vc_palette[k++] = default_blu[j] ;
} }
vc->vc_def_color = 0x07; /* white */ vc->vc_def_color = default_color;
vc->vc_ulcolor = default_underline_color; vc->vc_ulcolor = default_underline_color;
vc->vc_itcolor = default_italic_color; vc->vc_itcolor = default_italic_color;
vc->vc_halfcolor = 0x08; /* grey */ vc->vc_halfcolor = 0x08; /* grey */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment