Check out my first novel, midnight's simulacra!

Consoles

From dankwiki
Revision as of 00:35, 4 July 2021 by Dank (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The nomenclature here is annoying. The system console is a device concept, mapped to a character device (usually a serial port or virtual terminal). Kernel messages (having a priority above console_loglevel, see linux/kernel.h> and the klogd(8) man page) are sent there, and single-mode login is supported through this device.

Documentation

  • Documentation/consoles/console.txt explains console binding
  • Documentation/svga.txt explains VGA text consoles
  • Documentation/fb/fbcon.txt explains framebuffer consoles
  • /dev/tty0 is the current console at any given time
    • How does X interact with this, especially in [xgk]dm's presence?
  • Man page console_codes(4) details terminal control codes for the Linux console
  • Man pages for setterm(1), setfont(8), loadkeys(1), fbset(1)

Kernel options

Character devices

  • CONFIG_VT=y enables virtual terminals, and is necessary to access...
    • CONFIG_VT_CONSOLE=y enables sending kernel console messages to virtual terminals
    • CONFIG_VT_HW_CONSOLE_BINDING=y enables runtime rebinding of console drivers to virtual terminals
  • CONFIG_SERIAL_8250=y is necessary to access...
    • CONFIG_SERIAL_8250_CONSOLE=y enables sending kernel console messages to serial ports

Graphics support

  • CONFIG_FB=[ym] enables the framebuffer abstraction, and is necessary to access...

Console display driver support

  • CONFIG_VGA_CONSOLE=y enables virtual terminals on VGA hardware, and is necessary to access...
    • CONFIG_VGACON_SOFT_SCROLLBACK=y enables placing scrollback data in system memory
    • CONFIG_VIDEO_SELECT=y enables video mode selection support
  • CONFIG_VIDEO_SELECT=y enables text mode selection on system startup using the vga=... parameter
  • CONFIG_FRAMEBUFFER_CONSOLE=y enables virtual terminals on framebuffers

Kernel command line parameters

  • console=ttyX sets the system console
    • By default, this is tty0 (see note above regarding tty0)
    • Use ttySX for the Xth serial port
    • If no VGA card is installed, the default system console will go to ttyS1.
  • no-scroll disables use of hardware scrolling
    • "Required by some Braille machines", according to bootparam(7)
  • vga=... sets up the VGA text console

Management

  • Switch to virtual terminal X with Alt+Fn+X
  • setterm command controls virtual term parameters
    • setterm -blength 0 disables the console bell for a virtual terminal
  • setfont command controls virtual terminal fonts
  • loadkey command controls virtual terminal keybindings
  • fbset command controls framebuffer settings

sysfs

  • /sys/devices/virtual/vtconsole, to which /sys/class/vtconsole's contents link

See also