1config STATIC_LINK
   2        bool "Force a static link"
   3        default n
   4        help
   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.
  12source "mm/Kconfig"
  13source "kernel/time/Kconfig"
  16        bool
  17        default y
  18        depends on STATIC_LINK
  20config LD_SCRIPT_DYN
  21        bool
  22        default y
  23        depends on !LD_SCRIPT_STATIC
  25source "fs/Kconfig.binfmt"
  27config HOSTFS
  28        tristate "Host filesystem"
  29        help
  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:
  36          mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
  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.
  42          For more information, see
  43          <>.
  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.
  48config HPPFS
  49        tristate "HoneyPot ProcFS (EXPERIMENTAL)"
  50        depends on EXPERIMENTAL
  51        help
  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.
  58          See <> for more information.
  60          You only need this if you are setting up a UML honeypot.  Otherwise,
  61          it is safe to say 'N' here.
  63config MCONSOLE
  64        bool "Management console"
  65        default y
  66        help
  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.
  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.
  78          It is safe to say 'Y' here.
  80config MAGIC_SYSRQ
  81        bool "Magic SysRq key"
  82        depends on MCONSOLE
  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.
  90          This is the feature normally accomplished by pressing a key
  91          while holding SysRq (Alt+PrintScreen).
  93          On UML, this is accomplished by sending a "sysrq" command with
  94          mconsole, followed by the letter for the requested command.
  96          The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
  97          unless you really know what this hack does.
  99config SMP
 100        bool "Symmetric multi-processing support (EXPERIMENTAL)"
 101        default n
 102        depends on BROKEN
 103        help
 104          This option enables UML SMP support.
 105          It is NOT related to having a real SMP box. Not directly, at least.
 107          UML implements virtual SMP by allowing as many processes to run
 108          simultaneously on the host as there are virtual processors configured.
 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.
 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.
 121          If you don't know what to do, say N.
 123config NR_CPUS
 124        int "Maximum number of CPUs (2-32)"
 125        range 2 32
 126        depends on SMP
 127        default "32"
 129config HIGHMEM
 130        bool "Highmem support (EXPERIMENTAL)"
 131        depends on !64BIT && EXPERIMENTAL
 132        default n
 133        help
 134          This was used to allow UML to run with big amounts of memory.
 135          Currently it is unstable, so if unsure say N.
 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.
 142        int "Kernel stack size order"
 143        default 1 if 64BIT
 144        range 1 10 if 64BIT
 145        default 0 if !64BIT
 146        help
 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.