Check out my first novel, midnight's simulacra!

Consoles

From dankwiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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