| config DEFCONFIG_LIST | |
| string | |
| option defconfig_list | |
| default "arch/$ARCH/defconfig" | |
| # UML uses the generic IRQ sugsystem | |
| config GENERIC_HARDIRQS | |
| bool | |
| default y | |
| config UML | |
| bool | |
| default y | |
| config MMU | |
| bool | |
| default y | |
| config NO_IOMEM | |
| def_bool y | |
| mainmenu "Linux/Usermode Kernel Configuration" | |
| config ISA | |
| bool | |
| config SBUS | |
| bool | |
| config PCI | |
| bool | |
| config PCMCIA | |
| bool | |
| # Yet to do! | |
| config TRACE_IRQFLAGS_SUPPORT | |
| bool | |
| default n | |
| config LOCKDEP_SUPPORT | |
| bool | |
| default y | |
| config STACKTRACE_SUPPORT | |
| bool | |
| default n | |
| config GENERIC_CALIBRATE_DELAY | |
| bool | |
| default y | |
| config GENERIC_BUG | |
| bool | |
| default y | |
| depends on BUG | |
| # Used in kernel/irq/manage.c and include/linux/irq.h | |
| config IRQ_RELEASE_METHOD | |
| bool | |
| default y | |
| menu "UML-specific options" | |
| config MODE_TT | |
| bool "Tracing thread support (DEPRECATED)" | |
| default n | |
| depends on BROKEN | |
| help | |
| This option controls whether tracing thread support is compiled | |
| into UML. This option is largely obsolete, given that skas0 provides | |
| skas security and performance without needing to patch the host. | |
| It is safe to say 'N' here; saying 'Y' may cause additional problems | |
| with the resulting binary even if you run UML in SKAS mode, and running | |
| in TT mode is strongly *NOT RECOMMENDED*. | |
| config STATIC_LINK | |
| bool "Force a static link" | |
| default n | |
| depends on !MODE_TT | |
| help | |
| If CONFIG_MODE_TT is disabled, then this option gives you the ability | |
| to force a static link of UML. Normally, if only skas mode is built | |
| in to UML, it will be linked as a shared binary. This is inconvenient | |
| for use in a chroot jail. So, if you intend to run UML inside a | |
| chroot, and you disable CONFIG_MODE_TT, you probably want to say Y | |
| here. | |
| Additionally, this option enables using higher memory spaces (up to | |
| 2.75G) for UML - disabling CONFIG_MODE_TT and enabling this option leads | |
| to best results for this. | |
| config KERNEL_HALF_GIGS | |
| int "Kernel address space size (in .5G units)" | |
| default "1" | |
| depends on MODE_TT | |
| help | |
| This determines the amount of address space that UML will allocate for | |
| its own, measured in half Gigabyte units. The default is 1. | |
| Change this only if you need to boot UML with an unusually large amount | |
| of physical memory. | |
| config MODE_SKAS | |
| bool "Separate Kernel Address Space support" if MODE_TT | |
| default y | |
| help | |
| This option controls whether skas (separate kernel address space) | |
| support is compiled in. | |
| Unless you have specific needs to use TT mode (which applies almost only | |
| to developers), you should say Y here. | |
| SKAS mode will make use of the SKAS3 patch if it is applied on the host | |
| (and your UML will run in SKAS3 mode), but if no SKAS patch is applied | |
| on the host it will run in SKAS0 mode, which is anyway faster than TT | |
| mode. | |
| source "arch/um/Kconfig.arch" | |
| source "mm/Kconfig" | |
| config LD_SCRIPT_STATIC | |
| bool | |
| default y | |
| depends on MODE_TT || STATIC_LINK | |
| config LD_SCRIPT_DYN | |
| bool | |
| default y | |
| depends on !LD_SCRIPT_STATIC | |
| config NET | |
| bool "Networking support" | |
| help | |
| Unless you really know what you are doing, you should say Y here. | |
| The reason is that some programs need kernel networking support even | |
| when running on a stand-alone machine that isn't connected to any | |
| other computer. If you are upgrading from an older kernel, you | |
| should consider updating your networking tools too because changes | |
| in the kernel and the tools often go hand in hand. The tools are | |
| contained in the package net-tools, the location and version number | |
| of which are given in <file:Documentation/Changes>. | |
| For a general introduction to Linux networking, it is highly | |
| recommended to read the NET-HOWTO, available from | |
| <http://www.tldp.org/docs.html#howto>. | |
| source "fs/Kconfig.binfmt" | |
| config HOSTFS | |
| tristate "Host filesystem" | |
| help | |
| While the User-Mode Linux port uses its own root file system for | |
| booting and normal file access, this module lets the UML user | |
| access files stored on the host. It does not require any | |
| network connection between the Host and UML. An example use of | |
| this might be: | |
| mount none /tmp/fromhost -t hostfs -o /tmp/umlshare | |
| where /tmp/fromhost is an empty directory inside UML and | |
| /tmp/umlshare is a directory on the host with files the UML user | |
| wishes to access. | |
| For more information, see | |
| <http://user-mode-linux.sourceforge.net/hostfs.html>. | |
| If you'd like to be able to work with files stored on the host, | |
| say Y or M here; otherwise say N. | |
| config HPPFS | |
| tristate "HoneyPot ProcFS (EXPERIMENTAL)" | |
| depends on EXPERIMENTAL | |
| help | |
| hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc | |
| entries to be overridden, removed, or fabricated from the host. | |
| Its purpose is to allow a UML to appear to be a physical machine | |
| by removing or changing anything in /proc which gives away the | |
| identity of a UML. | |
| See <http://user-mode-linux.sf.net/hppfs.html> for more information. | |
| You only need this if you are setting up a UML honeypot. Otherwise, | |
| it is safe to say 'N' here. | |
| config MCONSOLE | |
| bool "Management console" | |
| default y | |
| help | |
| The user mode linux management console is a low-level interface to | |
| the kernel, somewhat like the i386 SysRq interface. Since there is | |
| a full-blown operating system running under every user mode linux | |
| instance, there is much greater flexibility possible than with the | |
| SysRq mechanism. | |
| If you answer 'Y' to this option, to use this feature, you need the | |
| mconsole client (called uml_mconsole) which is present in CVS in | |
| 2.4.5-9um and later (path /tools/mconsole), and is also in the | |
| distribution RPM package in 2.4.6 and later. | |
| It is safe to say 'Y' here. | |
| config MAGIC_SYSRQ | |
| bool "Magic SysRq key" | |
| depends on MCONSOLE | |
| ---help--- | |
| If you say Y here, you will have some control over the system even | |
| if the system crashes for example during kernel debugging (e.g., you | |
| will be able to flush the buffer cache to disk, reboot the system | |
| immediately or dump some status information). A key for each of the | |
| possible requests is provided. | |
| This is the feature normally accomplished by pressing a key | |
| while holding SysRq (Alt+PrintScreen). | |
| On UML, this is accomplished by sending a "sysrq" command with | |
| mconsole, followed by the letter for the requested command. | |
| The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y | |
| unless you really know what this hack does. | |
| config SMP | |
| bool "Symmetric multi-processing support (EXPERIMENTAL)" | |
| default n | |
| #SMP_BROKEN is for x86_64. | |
| depends on MODE_TT && EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN)) | |
| help | |
| This option enables UML SMP support. | |
| It is NOT related to having a real SMP box. Not directly, at least. | |
| UML implements virtual SMP by allowing as many processes to run | |
| simultaneously on the host as there are virtual processors configured. | |
| Obviously, if the host is a uniprocessor, those processes will | |
| timeshare, but, inside UML, will appear to be running simultaneously. | |
| If the host is a multiprocessor, then UML processes may run | |
| simultaneously, depending on the host scheduler. | |
| This, however, is supported only in TT mode. So, if you use the SKAS | |
| patch on your host, switching to TT mode and enabling SMP usually gives | |
| you worse performances. | |
| Also, since the support for SMP has been under-developed, there could | |
| be some bugs being exposed by enabling SMP. | |
| If you don't know what to do, say N. | |
| config NR_CPUS | |
| int "Maximum number of CPUs (2-32)" | |
| range 2 32 | |
| depends on SMP | |
| default "32" | |
| config NEST_LEVEL | |
| int "Nesting level" | |
| default "0" | |
| help | |
| This is set to the number of layers of UMLs that this UML will be run | |
| in. Normally, this is zero, meaning that it will run directly on the | |
| host. Setting it to one will build a UML that can run inside a UML | |
| that is running on the host. Generally, if you intend this UML to run | |
| inside another UML, set CONFIG_NEST_LEVEL to one more than the host | |
| UML. | |
| Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to | |
| greater than one, then the guest UML should have its CONFIG_NEST_LEVEL | |
| set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS. | |
| Only change this if you are running nested UMLs. | |
| config HIGHMEM | |
| bool "Highmem support (EXPERIMENTAL)" | |
| depends on !64BIT && EXPERIMENTAL | |
| default n | |
| help | |
| This was used to allow UML to run with big amounts of memory. | |
| Currently it is unstable, so if unsure say N. | |
| To use big amounts of memory, it is recommended to disable TT mode (i.e. | |
| CONFIG_MODE_TT) and enable static linking (i.e. CONFIG_STATIC_LINK) - | |
| this should allow the guest to use up to 2.75G of memory. | |
| config KERNEL_STACK_ORDER | |
| int "Kernel stack size order" | |
| default 1 if 64BIT | |
| range 1 10 if 64BIT | |
| default 0 if !64BIT | |
| help | |
| This option determines the size of UML kernel stacks. They will | |
| be 1 << order pages. The default is OK unless you're running Valgrind | |
| on UML, in which case, set this to 3. | |
| config UML_REAL_TIME_CLOCK | |
| bool "Real-time Clock" | |
| default y | |
| help | |
| This option makes UML time deltas match wall clock deltas. This should | |
| normally be enabled. The exception would be if you are debugging with | |
| UML and spend long times with UML stopped at a breakpoint. In this | |
| case, when UML is restarted, it will call the timer enough times to make | |
| up for the time spent at the breakpoint. This could result in a | |
| noticeable lag. If this is a problem, then disable this option. | |
| endmenu | |
| source "init/Kconfig" | |
| source "drivers/block/Kconfig" | |
| source "arch/um/Kconfig.char" | |
| source "drivers/base/Kconfig" | |
| source "net/Kconfig" | |
| source "arch/um/Kconfig.net" | |
| source "drivers/net/Kconfig" | |
| source "drivers/connector/Kconfig" | |
| source "fs/Kconfig" | |
| source "security/Kconfig" | |
| source "crypto/Kconfig" | |
| source "lib/Kconfig" | |
| source "drivers/scsi/Kconfig" | |
| source "drivers/md/Kconfig" | |
| if BROKEN | |
| source "drivers/mtd/Kconfig" | |
| endif | |
| #This is just to shut up some Kconfig warnings, so no prompt. | |
| config INPUT | |
| bool | |
| default n | |
| source "arch/um/Kconfig.debug" |