| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | config STATIC_LINK | 
|  | 2 | bool "Force a static link" | 
|  | 3 | default n | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 5 | This option gives you the ability to force a static link of UML. | 
|  | 6 | Normally, UML is linked as a shared binary.  This is inconvenient for | 
|  | 7 | use in a chroot jail.  So, if you intend to run UML inside a chroot, | 
|  | 8 | you probably want to say Y here. | 
|  | 9 | Additionally, this option enables using higher memory spaces (up to | 
|  | 10 | 2.75G) for UML. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 |  | 
| Dave Hansen | 3f22ab2 | 2005-06-23 00:07:43 -0700 | [diff] [blame] | 12 | source "mm/Kconfig" | 
| Jeff Dike | d83d2aa | 2007-10-16 01:27:23 -0700 | [diff] [blame] | 13 | source "kernel/time/Kconfig" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 |  | 
|  | 15 | config LD_SCRIPT_STATIC | 
|  | 16 | bool | 
|  | 17 | default y | 
| Jeff Dike | 42fda66 | 2007-10-16 01:26:50 -0700 | [diff] [blame] | 18 | depends on STATIC_LINK | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 |  | 
|  | 20 | config LD_SCRIPT_DYN | 
|  | 21 | bool | 
|  | 22 | default y | 
|  | 23 | depends on !LD_SCRIPT_STATIC | 
|  | 24 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | source "fs/Kconfig.binfmt" | 
|  | 26 |  | 
|  | 27 | config HOSTFS | 
|  | 28 | tristate "Host filesystem" | 
|  | 29 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 30 | While the User-Mode Linux port uses its own root file system for | 
|  | 31 | booting and normal file access, this module lets the UML user | 
|  | 32 | access files stored on the host.  It does not require any | 
|  | 33 | network connection between the Host and UML.  An example use of | 
|  | 34 | this might be: | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 35 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 36 | mount none /tmp/fromhost -t hostfs -o /tmp/umlshare | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 38 | where /tmp/fromhost is an empty directory inside UML and | 
|  | 39 | /tmp/umlshare is a directory on the host with files the UML user | 
|  | 40 | wishes to access. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 41 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 42 | For more information, see | 
|  | 43 | <http://user-mode-linux.sourceforge.net/hostfs.html>. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 44 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 45 | If you'd like to be able to work with files stored on the host, | 
|  | 46 | say Y or M here; otherwise say N. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 47 |  | 
|  | 48 | config HPPFS | 
|  | 49 | tristate "HoneyPot ProcFS (EXPERIMENTAL)" | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame] | 50 | depends on EXPERIMENTAL | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 51 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 52 | hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc | 
|  | 53 | entries to be overridden, removed, or fabricated from the host. | 
|  | 54 | Its purpose is to allow a UML to appear to be a physical machine | 
|  | 55 | by removing or changing anything in /proc which gives away the | 
|  | 56 | identity of a UML. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 57 |  | 
| Karol Swietlicki | 0ba9d3f | 2008-02-04 22:30:38 -0800 | [diff] [blame] | 58 | See <http://user-mode-linux.sf.net/old/hppfs.html> for more information. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 59 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 60 | You only need this if you are setting up a UML honeypot.  Otherwise, | 
|  | 61 | it is safe to say 'N' here. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 62 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 63 | config MCONSOLE | 
|  | 64 | bool "Management console" | 
|  | 65 | default y | 
|  | 66 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 67 | The user mode linux management console is a low-level interface to | 
|  | 68 | the kernel, somewhat like the i386 SysRq interface.  Since there is | 
|  | 69 | a full-blown operating system running under every user mode linux | 
|  | 70 | instance, there is much greater flexibility possible than with the | 
|  | 71 | SysRq mechanism. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 72 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 73 | If you answer 'Y' to this option, to use this feature, you need the | 
|  | 74 | mconsole client (called uml_mconsole) which is present in CVS in | 
|  | 75 | 2.4.5-9um and later (path /tools/mconsole), and is also in the | 
|  | 76 | distribution RPM package in 2.4.6 and later. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 77 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 78 | It is safe to say 'Y' here. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 79 |  | 
|  | 80 | config MAGIC_SYSRQ | 
|  | 81 | bool "Magic SysRq key" | 
|  | 82 | depends on MCONSOLE | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 83 | help | 
|  | 84 | If you say Y here, you will have some control over the system even | 
|  | 85 | if the system crashes for example during kernel debugging (e.g., you | 
|  | 86 | will be able to flush the buffer cache to disk, reboot the system | 
|  | 87 | immediately or dump some status information). A key for each of the | 
|  | 88 | possible requests is provided. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 89 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 90 | This is the feature normally accomplished by pressing a key | 
|  | 91 | while holding SysRq (Alt+PrintScreen). | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 92 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 93 | On UML, this is accomplished by sending a "sysrq" command with | 
|  | 94 | mconsole, followed by the letter for the requested command. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 95 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 96 | The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y | 
|  | 97 | unless you really know what this hack does. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 98 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 99 | config SMP | 
|  | 100 | bool "Symmetric multi-processing support (EXPERIMENTAL)" | 
|  | 101 | default n | 
| Jeff Dike | 02bff1f | 2008-02-04 22:30:41 -0800 | [diff] [blame] | 102 | depends on BROKEN | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 103 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 104 | This option enables UML SMP support. | 
|  | 105 | It is NOT related to having a real SMP box. Not directly, at least. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 106 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 107 | UML implements virtual SMP by allowing as many processes to run | 
|  | 108 | simultaneously on the host as there are virtual processors configured. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 109 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 110 | Obviously, if the host is a uniprocessor, those processes will | 
|  | 111 | timeshare, but, inside UML, will appear to be running simultaneously. | 
|  | 112 | If the host is a multiprocessor, then UML processes may run | 
|  | 113 | simultaneously, depending on the host scheduler. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 114 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 115 | This, however, is supported only in TT mode. So, if you use the SKAS | 
|  | 116 | patch on your host, switching to TT mode and enabling SMP usually | 
|  | 117 | gives	you worse performances. | 
|  | 118 | Also, since the support for SMP has been under-developed, there could | 
|  | 119 | be some bugs being exposed by enabling SMP. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 120 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 121 | If you don't know what to do, say N. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 122 |  | 
|  | 123 | config NR_CPUS | 
|  | 124 | int "Maximum number of CPUs (2-32)" | 
|  | 125 | range 2 32 | 
|  | 126 | depends on SMP | 
|  | 127 | default "32" | 
|  | 128 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 129 | config HIGHMEM | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame] | 130 | bool "Highmem support (EXPERIMENTAL)" | 
|  | 131 | depends on !64BIT && EXPERIMENTAL | 
|  | 132 | default n | 
|  | 133 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 134 | This was used to allow UML to run with big amounts of memory. | 
|  | 135 | Currently it is unstable, so if unsure say N. | 
| Paolo 'Blaisorblade' Giarrusso | ce2d2ae | 2006-01-18 17:42:59 -0800 | [diff] [blame] | 136 |  | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 137 | To use big amounts of memory, it is recommended enable static | 
|  | 138 | linking (i.e. CONFIG_STATIC_LINK) - this should allow the | 
|  | 139 | guest to use up to 2.75G of memory. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 140 |  | 
|  | 141 | config KERNEL_STACK_ORDER | 
|  | 142 | int "Kernel stack size order" | 
| Jeff Dike | 02239c2 | 2007-05-10 22:22:35 -0700 | [diff] [blame] | 143 | default 1 if 64BIT | 
| Jeff Dike | e80ad9b | 2007-06-08 13:46:49 -0700 | [diff] [blame] | 144 | range 1 10 if 64BIT | 
| Jeff Dike | 02239c2 | 2007-05-10 22:22:35 -0700 | [diff] [blame] | 145 | default 0 if !64BIT | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 146 | help | 
| Jeff Dike | 4c9e138 | 2007-10-16 01:26:54 -0700 | [diff] [blame] | 147 | This option determines the size of UML kernel stacks.  They will | 
|  | 148 | be 1 << order pages.  The default is OK unless you're running Valgrind | 
|  | 149 | on UML, in which case, set this to 3. |