|  | 
 | 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 |