Kconfig 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. # SPDX-License-Identifier: GPL-2.0
  2. menu "UML Character Devices"
  3. config STDERR_CONSOLE
  4. bool "stderr console"
  5. default y
  6. help
  7. console driver which dumps all printk messages to stderr.
  8. config SSL
  9. bool "Virtual serial line"
  10. help
  11. The User-Mode Linux environment allows you to create virtual serial
  12. lines on the UML that are usually made to show up on the host as
  13. ttys or ptys.
  14. See <http://user-mode-linux.sourceforge.net/old/input.html> for more
  15. information and command line examples of how to use this facility.
  16. Unless you have a specific reason for disabling this, say Y.
  17. config NULL_CHAN
  18. bool "null channel support"
  19. help
  20. This option enables support for attaching UML consoles and serial
  21. lines to a device similar to /dev/null. Data written to it disappears
  22. and there is never any data to be read.
  23. config PORT_CHAN
  24. bool "port channel support"
  25. help
  26. This option enables support for attaching UML consoles and serial
  27. lines to host portals. They may be accessed with 'telnet <host>
  28. <port number>'. Any number of consoles and serial lines may be
  29. attached to a single portal, although what UML device you get when
  30. you telnet to that portal will be unpredictable.
  31. It is safe to say 'Y' here.
  32. config PTY_CHAN
  33. bool "pty channel support"
  34. help
  35. This option enables support for attaching UML consoles and serial
  36. lines to host pseudo-terminals. Access to both traditional
  37. pseudo-terminals (/dev/pty*) and pts pseudo-terminals are controlled
  38. with this option. The assignment of UML devices to host devices
  39. will be announced in the kernel message log.
  40. It is safe to say 'Y' here.
  41. config TTY_CHAN
  42. bool "tty channel support"
  43. help
  44. This option enables support for attaching UML consoles and serial
  45. lines to host terminals. Access to both virtual consoles
  46. (/dev/tty*) and the slave side of pseudo-terminals (/dev/ttyp* and
  47. /dev/pts/*) are controlled by this option.
  48. It is safe to say 'Y' here.
  49. config XTERM_CHAN
  50. bool "xterm channel support"
  51. help
  52. This option enables support for attaching UML consoles and serial
  53. lines to xterms. Each UML device so assigned will be brought up in
  54. its own xterm.
  55. It is safe to say 'Y' here.
  56. config NOCONFIG_CHAN
  57. bool
  58. default !(XTERM_CHAN && TTY_CHAN && PTY_CHAN && PORT_CHAN && NULL_CHAN)
  59. config CON_ZERO_CHAN
  60. string "Default main console channel initialization"
  61. default "fd:0,fd:1"
  62. help
  63. This is the string describing the channel to which the main console
  64. will be attached by default. This value can be overridden from the
  65. command line. The default value is "fd:0,fd:1", which attaches the
  66. main console to stdin and stdout.
  67. It is safe to leave this unchanged.
  68. config CON_CHAN
  69. string "Default console channel initialization"
  70. default "xterm"
  71. help
  72. This is the string describing the channel to which all consoles
  73. except the main console will be attached by default. This value can
  74. be overridden from the command line. The default value is "xterm",
  75. which brings them up in xterms.
  76. It is safe to leave this unchanged, although you may wish to change
  77. this if you expect the UML that you build to be run in environments
  78. which don't have X or xterm available.
  79. config SSL_CHAN
  80. string "Default serial line channel initialization"
  81. default "pty"
  82. help
  83. This is the string describing the channel to which the serial lines
  84. will be attached by default. This value can be overridden from the
  85. command line. The default value is "pty", which attaches them to
  86. traditional pseudo-terminals.
  87. It is safe to leave this unchanged, although you may wish to change
  88. this if you expect the UML that you build to be run in environments
  89. which don't have a set of /dev/pty* devices.
  90. config UML_SOUND
  91. tristate "Sound support"
  92. help
  93. This option enables UML sound support. If enabled, it will pull in
  94. soundcore and the UML hostaudio relay, which acts as a intermediary
  95. between the host's dsp and mixer devices and the UML sound system.
  96. It is safe to say 'Y' here.
  97. config SOUND
  98. tristate
  99. default UML_SOUND
  100. config SOUND_OSS_CORE
  101. bool
  102. default UML_SOUND
  103. config HOSTAUDIO
  104. tristate
  105. default UML_SOUND
  106. endmenu
  107. menu "UML Network Devices"
  108. depends on NET
  109. # UML virtual driver
  110. config UML_NET
  111. bool "Virtual network device"
  112. help
  113. While the User-Mode port cannot directly talk to any physical
  114. hardware devices, this choice and the following transport options
  115. provide one or more virtual network devices through which the UML
  116. kernels can talk to each other, the host, and with the host's help,
  117. machines on the outside world.
  118. For more information, including explanations of the networking and
  119. sample configurations, see
  120. <http://user-mode-linux.sourceforge.net/old/networking.html>.
  121. If you'd like to be able to enable networking in the User-Mode
  122. linux environment, say Y; otherwise say N. Note that you must
  123. enable at least one of the following transport options to actually
  124. make use of UML networking.
  125. config UML_NET_ETHERTAP
  126. bool "Ethertap transport (obsolete)"
  127. depends on UML_NET
  128. help
  129. The Ethertap User-Mode Linux network transport allows a single
  130. running UML to exchange packets with its host over one of the
  131. host's Ethertap devices, such as /dev/tap0. Additional running
  132. UMLs can use additional Ethertap devices, one per running UML.
  133. While the UML believes it's on a (multi-device, broadcast) virtual
  134. Ethernet network, it's in fact communicating over a point-to-point
  135. link with the host.
  136. To use this, your host kernel must have support for Ethertap
  137. devices. Also, if your host kernel is 2.4.x, it must have
  138. CONFIG_NETLINK_DEV configured as Y or M.
  139. For more information, see
  140. <http://user-mode-linux.sourceforge.net/old/networking.html> That site
  141. has examples of the UML command line to use to enable Ethertap
  142. networking.
  143. NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
  144. migrate to UML_NET_VECTOR.
  145. If unsure, say N.
  146. config UML_NET_TUNTAP
  147. bool "TUN/TAP transport (obsolete)"
  148. depends on UML_NET
  149. help
  150. The UML TUN/TAP network transport allows a UML instance to exchange
  151. packets with the host over a TUN/TAP device. This option will only
  152. work with a 2.4 host, unless you've applied the TUN/TAP patch to
  153. your 2.2 host kernel.
  154. To use this transport, your host kernel must have support for TUN/TAP
  155. devices, either built-in or as a module.
  156. NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
  157. migrate to UML_NET_VECTOR.
  158. If unsure, say N.
  159. config UML_NET_SLIP
  160. bool "SLIP transport (obsolete)"
  161. depends on UML_NET
  162. help
  163. The slip User-Mode Linux network transport allows a running UML to
  164. network with its host over a point-to-point link. Unlike Ethertap,
  165. which can carry any Ethernet frame (and hence even non-IP packets),
  166. the slip transport can only carry IP packets.
  167. To use this, your host must support slip devices.
  168. For more information, see
  169. <http://user-mode-linux.sourceforge.net/old/networking.html>.
  170. has examples of the UML command line to use to enable slip
  171. networking, and details of a few quirks with it.
  172. NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
  173. migrate to UML_NET_VECTOR.
  174. If unsure, say N.
  175. config UML_NET_DAEMON
  176. bool "Daemon transport (obsolete)"
  177. depends on UML_NET
  178. help
  179. This User-Mode Linux network transport allows one or more running
  180. UMLs on a single host to communicate with each other, but not to
  181. the host.
  182. To use this form of networking, you'll need to run the UML
  183. networking daemon on the host.
  184. For more information, see
  185. <http://user-mode-linux.sourceforge.net/old/networking.html> That site
  186. has examples of the UML command line to use to enable Daemon
  187. networking.
  188. NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
  189. migrate to UML_NET_VECTOR.
  190. If unsure, say N.
  191. config UML_NET_VECTOR
  192. bool "Vector I/O high performance network devices"
  193. depends on UML_NET
  194. select MAY_HAVE_RUNTIME_DEPS
  195. help
  196. This User-Mode Linux network driver uses multi-message send
  197. and receive functions. The host running the UML guest must have
  198. a linux kernel version above 3.0 and a libc version > 2.13.
  199. This driver provides tap, raw, gre and l2tpv3 network transports
  200. with up to 4 times higher network throughput than the UML network
  201. drivers.
  202. config UML_NET_VDE
  203. bool "VDE transport (obsolete)"
  204. depends on UML_NET
  205. select MAY_HAVE_RUNTIME_DEPS
  206. help
  207. This User-Mode Linux network transport allows one or more running
  208. UMLs on a single host to communicate with each other and also
  209. with the rest of the world using Virtual Distributed Ethernet,
  210. an improved fork of uml_switch.
  211. You must have libvdeplug installed in order to build the vde
  212. transport into UML.
  213. To use this form of networking, you will need to run vde_switch
  214. on the host.
  215. For more information, see <http://wiki.virtualsquare.org/>
  216. That site has a good overview of what VDE is and also examples
  217. of the UML command line to use to enable VDE networking.
  218. NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
  219. migrate to UML_NET_VECTOR.
  220. If unsure, say N.
  221. config UML_NET_MCAST
  222. bool "Multicast transport (obsolete)"
  223. depends on UML_NET
  224. help
  225. This Multicast User-Mode Linux network transport allows multiple
  226. UMLs (even ones running on different host machines!) to talk to
  227. each other over a virtual ethernet network. However, it requires
  228. at least one UML with one of the other transports to act as a
  229. bridge if any of them need to be able to talk to their hosts or any
  230. other IP machines.
  231. To use this, your host kernel(s) must support IP Multicasting.
  232. For more information, see
  233. <http://user-mode-linux.sourceforge.net/old/networking.html> That site
  234. has examples of the UML command line to use to enable Multicast
  235. networking, and notes about the security of this approach.
  236. NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
  237. migrate to UML_NET_VECTOR.
  238. If unsure, say N.
  239. config UML_NET_PCAP
  240. bool "pcap transport (obsolete)"
  241. depends on UML_NET
  242. select MAY_HAVE_RUNTIME_DEPS
  243. help
  244. The pcap transport makes a pcap packet stream on the host look
  245. like an ethernet device inside UML. This is useful for making
  246. UML act as a network monitor for the host. You must have libcap
  247. installed in order to build the pcap transport into UML.
  248. For more information, see
  249. <http://user-mode-linux.sourceforge.net/old/networking.html> That site
  250. has examples of the UML command line to use to enable this option.
  251. NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
  252. migrate to UML_NET_VECTOR.
  253. If unsure, say N.
  254. config UML_NET_SLIRP
  255. bool "SLiRP transport (obsolete)"
  256. depends on UML_NET
  257. help
  258. The SLiRP User-Mode Linux network transport allows a running UML
  259. to network by invoking a program that can handle SLIP encapsulated
  260. packets. This is commonly (but not limited to) the application
  261. known as SLiRP, a program that can re-socket IP packets back onto
  262. he host on which it is run. Only IP packets are supported,
  263. unlike other network transports that can handle all Ethernet
  264. frames. In general, slirp allows the UML the same IP connectivity
  265. to the outside world that the host user is permitted, and unlike
  266. other transports, SLiRP works without the need of root level
  267. privleges, setuid binaries, or SLIP devices on the host. This
  268. also means not every type of connection is possible, but most
  269. situations can be accommodated with carefully crafted slirp
  270. commands that can be passed along as part of the network device's
  271. setup string. The effect of this transport on the UML is similar
  272. that of a host behind a firewall that masquerades all network
  273. connections passing through it (but is less secure).
  274. NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
  275. migrate to UML_NET_VECTOR.
  276. If unsure, say N.
  277. Startup example: "eth0=slirp,FE:FD:01:02:03:04,/usr/local/bin/slirp"
  278. endmenu
  279. config VIRTIO_UML
  280. bool "UML driver for virtio devices"
  281. select VIRTIO
  282. help
  283. This driver provides support for virtio based paravirtual device
  284. drivers over vhost-user sockets.