menu "Character Devices" config STDERR_CONSOLE bool "stderr console" default y help console driver which dumps all printk messages to stderr. config STDIO_CONSOLE bool default y config SSL bool "Virtual serial line" help The User-Mode Linux environment allows you to create virtual serial lines on the UML that are usually made to show up on the host as ttys or ptys. See <http://user-mode-linux.sourceforge.net/old/input.html> for more information and command line examples of how to use this facility. Unless you have a specific reason for disabling this, say Y. config NULL_CHAN bool "null channel support" help This option enables support for attaching UML consoles and serial lines to a device similar to /dev/null. Data written to it disappears and there is never any data to be read. config PORT_CHAN bool "port channel support" help This option enables support for attaching UML consoles and serial lines to host portals. They may be accessed with 'telnet <host> <port number>'. Any number of consoles and serial lines may be attached to a single portal, although what UML device you get when you telnet to that portal will be unpredictable. It is safe to say 'Y' here. config PTY_CHAN bool "pty channel support" help This option enables support for attaching UML consoles and serial lines to host pseudo-terminals. Access to both traditional pseudo-terminals (/dev/pty*) and pts pseudo-terminals are controlled with this option. The assignment of UML devices to host devices will be announced in the kernel message log. It is safe to say 'Y' here. config TTY_CHAN bool "tty channel support" help This option enables support for attaching UML consoles and serial lines to host terminals. Access to both virtual consoles (/dev/tty*) and the slave side of pseudo-terminals (/dev/ttyp* and /dev/pts/*) are controlled by this option. It is safe to say 'Y' here. config XTERM_CHAN bool "xterm channel support" help This option enables support for attaching UML consoles and serial lines to xterms. Each UML device so assigned will be brought up in its own xterm. It is safe to say 'Y' here. config NOCONFIG_CHAN bool default !(XTERM_CHAN && TTY_CHAN && PTY_CHAN && PORT_CHAN && NULL_CHAN) config CON_ZERO_CHAN string "Default main console channel initialization" default "fd:0,fd:1" help This is the string describing the channel to which the main console will be attached by default. This value can be overridden from the command line. The default value is "fd:0,fd:1", which attaches the main console to stdin and stdout. It is safe to leave this unchanged. config CON_CHAN string "Default console channel initialization" default "xterm" help This is the string describing the channel to which all consoles except the main console will be attached by default. This value can be overridden from the command line. The default value is "xterm", which brings them up in xterms. It is safe to leave this unchanged, although you may wish to change this if you expect the UML that you build to be run in environments which don't have X or xterm available. config SSL_CHAN string "Default serial line channel initialization" default "pty" help This is the string describing the channel to which the serial lines will be attached by default. This value can be overridden from the command line. The default value is "pty", which attaches them to traditional pseudo-terminals. It is safe to leave this unchanged, although you may wish to change this if you expect the UML that you build to be run in environments which don't have a set of /dev/pty* devices. config UNIX98_PTYS bool "Unix98 PTY support" help A pseudo terminal (PTY) is a software device consisting of two halves: a master and a slave. The slave device behaves identical to a physical terminal; the master device is used by a process to read data from and write data to the slave, thereby emulating a terminal. Typical programs for the master side are telnet servers and xterms. Linux has traditionally used the BSD-like names /dev/ptyxx for masters and /dev/ttyxx for slaves of pseudo terminals. This scheme has a number of problems. The GNU C library glibc 2.1 and later, however, supports the Unix98 naming standard: in order to acquire a pseudo terminal, a process opens /dev/ptmx; the number of the pseudo terminal is then made available to the process and the pseudo terminal slave can be accessed as /dev/pts/<number>. What was traditionally /dev/ttyp2 will then be /dev/pts/2, for example. All modern Linux systems use the Unix98 ptys. Say Y unless you're on an embedded system and want to conserve memory. config LEGACY_PTYS bool "Legacy (BSD) PTY support" default y help A pseudo terminal (PTY) is a software device consisting of two halves: a master and a slave. The slave device behaves identical to a physical terminal; the master device is used by a process to read data from and write data to the slave, thereby emulating a terminal. Typical programs for the master side are telnet servers and xterms. Linux has traditionally used the BSD-like names /dev/ptyxx for masters and /dev/ttyxx for slaves of pseudo terminals. This scheme has a number of problems, including security. This option enables these legacy devices; on most systems, it is safe to say N. config RAW_DRIVER tristate "RAW driver (/dev/raw/rawN)" depends on BLOCK help The raw driver permits block devices to be bound to /dev/raw/rawN. Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. See the raw(8) manpage for more details. Applications should preferably open the device (eg /dev/hda1) with the O_DIRECT flag. config MAX_RAW_DEVS int "Maximum number of RAW devices to support (1-8192)" depends on RAW_DRIVER default "256" help The maximum number of RAW devices that are supported. Default is 256. Increase this number in case you need lots of raw devices. config LEGACY_PTY_COUNT int "Maximum number of legacy PTY in use" depends on LEGACY_PTYS default "256" help The maximum number of legacy PTYs that can be used at any one time. The default is 256, and should be more than enough. Embedded systems may want to reduce this to save memory. When not in use, each legacy PTY occupies 12 bytes on 32-bit architectures and 24 bytes on 64-bit architectures. config WATCHDOG bool "Watchdog Timer Support" config WATCHDOG_NOWAYOUT bool "Disable watchdog shutdown on close" depends on WATCHDOG config SOFT_WATCHDOG tristate "Software Watchdog" depends on WATCHDOG config UML_WATCHDOG tristate "UML watchdog" depends on WATCHDOG config UML_SOUND tristate "Sound support" help This option enables UML sound support. If enabled, it will pull in soundcore and the UML hostaudio relay, which acts as a intermediary between the host's dsp and mixer devices and the UML sound system. It is safe to say 'Y' here. config SOUND tristate default UML_SOUND config SOUND_OSS_CORE bool default UML_SOUND config HOSTAUDIO tristate default UML_SOUND #It is selected elsewhere, so kconfig would warn without this. config HW_RANDOM tristate default n config UML_RANDOM tristate "Hardware random number generator" help This option enables UML's "hardware" random number generator. It attaches itself to the host's /dev/random, supplying as much entropy as the host has, rather than the small amount the UML gets from its own drivers. It registers itself as a standard hardware random number generator, major 10, minor 183, and the canonical device name is /dev/hwrng. The way to make use of this is to install the rng-tools package (check your distro, or download from http://sourceforge.net/projects/gkernel/). rngd periodically reads /dev/hwrng and injects the entropy into /dev/random. config MMAPPER tristate "iomem emulation driver" help This driver allows a host file to be used as emulated IO memory inside UML. endmenu