RHEL4/init/Kconfig
<<
>>
Prefs
   1menu "Code maturity level options"
   2
   3config EXPERIMENTAL
   4        bool "Prompt for development and/or incomplete code/drivers"
   5        ---help---
   6          Some of the various things that Linux supports (such as network
   7          drivers, file systems, network protocols, etc.) can be in a state
   8          of development where the functionality, stability, or the level of
   9          testing is not yet high enough for general use. This is usually
  10          known as the "alpha-test" phase among developers. If a feature is
  11          currently in alpha-test, then the developers usually discourage
  12          uninformed widespread use of this feature by the general public to
  13          avoid "Why doesn't this work?" type mail messages. However, active
  14          testing and use of these systems is welcomed. Just be aware that it
  15          may not meet the normal level of reliability or it may fail to work
  16          in some special cases. Detailed bug reports from people familiar
  17          with the kernel internals are usually welcomed by the developers
  18          (before submitting bug reports, please read the documents
  19          <file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,
  20          <file:Documentation/BUG-HUNTING>, and
  21          <file:Documentation/oops-tracing.txt> in the kernel source).
  22
  23          This option will also make obsoleted drivers available. These are
  24          drivers that have been replaced by something else, and/or are
  25          scheduled to be removed in a future kernel release.
  26
  27          Unless you intend to help test and develop a feature or driver that
  28          falls into this category, or you have a situation that requires
  29          using these features, you should probably say N here, which will
  30          cause the configurator to present you with fewer choices. If
  31          you say Y here, you will be offered the choice of using features or
  32          drivers that are currently considered to be in the alpha-test phase.
  33
  34config CLEAN_COMPILE
  35        bool "Select only drivers expected to compile cleanly" if EXPERIMENTAL
  36        default y
  37        help
  38          Select this option if you don't even want to see the option
  39          to configure known-broken drivers.
  40
  41          If unsure, say Y
  42
  43config BROKEN
  44        bool
  45        depends on !CLEAN_COMPILE
  46        default y
  47
  48config BROKEN_ON_SMP
  49        bool
  50        depends on BROKEN || !SMP
  51        default y
  52
  53endmenu
  54
  55menu "General setup"
  56
  57config LOCALVERSION
  58        string "Local version - append to kernel release"
  59        help
  60          Append an extra string to the end of your kernel version.
  61          This will show up when you type uname, for example.
  62          The string you set here will be appended after the contents of
  63          any files with a filename matching localversion* in your
  64          object and source tree, in that order.  Your total string can
  65          be a maximum of 64 characters.
  66
  67config SWAP
  68        bool "Support for paging of anonymous memory (swap)"
  69        depends on MMU
  70        default y
  71        help
  72          This option allows you to choose whether you want to have support
  73          for socalled swap devices or swap files in your kernel that are
  74          used to provide more virtual memory than the actual RAM present
  75          in your computer.  If unsure say Y.
  76
  77config SYSVIPC
  78        bool "System V IPC"
  79        depends on MMU
  80        ---help---
  81          Inter Process Communication is a suite of library functions and
  82          system calls which let processes (running programs) synchronize and
  83          exchange information. It is generally considered to be a good thing,
  84          and some programs won't run unless you say Y here. In particular, if
  85          you want to run the DOS emulator dosemu under Linux (read the
  86          DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
  87          you'll need to say Y here.
  88
  89          You can find documentation about IPC with "info ipc" and also in
  90          section 6.4 of the Linux Programmer's Guide, available from
  91          <http://www.tldp.org/guides.html>.
  92
  93config POSIX_MQUEUE
  94        bool "POSIX Message Queues"
  95        depends on NET && EXPERIMENTAL
  96        ---help---
  97          POSIX variant of message queues is a part of IPC. In POSIX message
  98          queues every message has a priority which decides about succession
  99          of receiving it by a process. If you want to compile and run
 100          programs written e.g. for Solaris with use of its POSIX message
 101          queues (functions mq_*) say Y here. To use this feature you will
 102          also need mqueue library, available from
 103          <http://www.mat.uni.torun.pl/~wrona/posix_ipc/>
 104
 105          POSIX message queues are visible as a filesystem called 'mqueue'
 106          and can be mounted somewhere if you want to do filesystem
 107          operations on message queues.
 108
 109          If unsure, say Y.
 110
 111config BSD_PROCESS_ACCT
 112        bool "BSD Process Accounting"
 113        help
 114          If you say Y here, a user level program will be able to instruct the
 115          kernel (via a special system call) to write process accounting
 116          information to a file: whenever a process exits, information about
 117          that process will be appended to the file by the kernel.  The
 118          information includes things such as creation time, owning user,
 119          command name, memory usage, controlling terminal etc. (the complete
 120          list is in the struct acct in <file:include/linux/acct.h>).  It is
 121          up to the user level program to do useful things with this
 122          information.  This is generally a good idea, so say Y.
 123
 124config BSD_PROCESS_ACCT_V3
 125        bool "BSD Process Accounting version 3 file format"
 126        depends on BSD_PROCESS_ACCT
 127        default n
 128        help
 129          If you say Y here, the process accounting information is written
 130          in a new file format that also logs the process IDs of each
 131          process and it's parent. Note that this file format is incompatible
 132          with previous v0/v1/v2 file formats, so you will need updated tools
 133          for processing it. A preliminary version of these tools is available
 134          at <http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/>.
 135
 136config TASK_IO_ACCOUNTING
 137        bool "Enable per-task storage I/O accounting (EXPERIMENTAL)"
 138        help
 139          Collect information on the number of bytes of storage I/O which this
 140          task has caused.
 141
 142          Say N if unsure.
 143
 144config SYSCTL
 145        bool "Sysctl support"
 146        ---help---
 147          The sysctl interface provides a means of dynamically changing
 148          certain kernel parameters and variables on the fly without requiring
 149          a recompile of the kernel or reboot of the system.  The primary
 150          interface consists of a system call, but if you say Y to "/proc
 151          file system support", a tree of modifiable sysctl entries will be
 152          generated beneath the /proc/sys directory. They are explained in the
 153          files in <file:Documentation/sysctl/>.  Note that enabling this
 154          option will enlarge the kernel by at least 8 KB.
 155
 156          As it is generally a good thing, you should say Y here unless
 157          building a kernel for install/rescue disks or your system is very
 158          limited in memory.
 159
 160config AUDIT
 161        bool "Auditing support"
 162        default y if SECURITY_SELINUX
 163        default n
 164        help
 165          Enable auditing infrastructure that can be used with another
 166          kernel subsystem, such as SELinux (which requires this for
 167          logging of avc messages output).  Does not do system-call
 168          auditing without CONFIG_AUDITSYSCALL.
 169
 170config AUDITSYSCALL
 171        bool "Enable system-call auditing support"
 172        depends on AUDIT && (X86 || PPC64 || ARCH_S390 || IA64)
 173        default y if SECURITY_SELINUX
 174        default n
 175        help
 176          Enable low-overhead system-call auditing infrastructure that
 177          can be used independently or with another kernel subsystem,
 178          such as SELinux.
 179
 180config AUDITFILESYSTEM
 181        bool "Enable file system auditing support"
 182        depends on AUDITSYSCALL
 183        default n
 184        help
 185          Enable file system auditing for regular files and directories.
 186          When a targeted file or directory is accessed, an audit record
 187          is generated describing the inode accessed, how it was accessed,
 188          and by whom (ie: pid and system call).
 189
 190config LOG_BUF_SHIFT
 191        int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL
 192        range 12 20
 193        default 17 if ARCH_S390
 194        default 16 if X86_NUMAQ || IA64
 195        default 15 if SMP
 196        default 14
 197        help
 198          Select kernel log buffer size as a power of 2.
 199          Defaults and Examples:
 200                     17 => 128 KB for S/390
 201                     16 => 64 KB for x86 NUMAQ or IA-64
 202                     15 => 32 KB for SMP
 203                     14 => 16 KB for uniprocessor
 204                     13 =>  8 KB
 205                     12 =>  4 KB
 206
 207config HOTPLUG
 208        bool "Support for hot-pluggable devices" if !ARCH_S390
 209        default ARCH_S390
 210        help
 211          Say Y here if you want to plug devices into your computer while
 212          the system is running, and be able to use them quickly.  In many
 213          cases, the devices can likewise be unplugged at any time too.
 214
 215          One well known example of this is PCMCIA- or PC-cards, credit-card
 216          size devices such as network cards, modems or hard drives which are
 217          plugged into slots found on all modern laptop computers.  Another
 218          example, used on modern desktops as well as laptops, is USB.
 219
 220          Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
 221          software (at <http://linux-hotplug.sourceforge.net/>) and install it.
 222          Then your kernel will automatically call out to a user mode "policy
 223          agent" (/sbin/hotplug) to load modules and set up software needed
 224          to use devices as you hotplug them.
 225
 226config IKCONFIG
 227        bool "Kernel .config support"
 228        ---help---
 229          This option enables the complete Linux kernel ".config" file
 230          contents to be saved in the kernel. It provides documentation
 231          of which kernel options are used in a running kernel or in an
 232          on-disk kernel.  This information can be extracted from the kernel
 233          image file with the script scripts/extract-ikconfig and used as
 234          input to rebuild the current kernel or to build another kernel.
 235          It can also be extracted from a running kernel by reading
 236          /proc/config.gz if enabled (below).
 237
 238config IKCONFIG_PROC
 239        bool "Enable access to .config through /proc/config.gz"
 240        depends on IKCONFIG && PROC_FS
 241        ---help---
 242          This option enables access to the kernel configuration file
 243          through /proc/config.gz.
 244
 245
 246menuconfig EMBEDDED
 247        bool "Configure standard kernel features (for small systems)"
 248        help
 249          This option allows certain base kernel options and settings
 250          to be disabled or tweaked. This is for specialized
 251          environments which can tolerate a "non-standard" kernel.
 252          Only use this if you really know what you are doing.
 253
 254config KALLSYMS
 255         bool "Load all symbols for debugging/kksymoops" if EMBEDDED
 256         default y
 257         help
 258           Say Y here to let the kernel print out symbolic crash information and
 259           symbolic stack backtraces. This increases the size of the kernel
 260           somewhat, as all symbols have to be loaded into the kernel image.
 261
 262config KALLSYMS_ALL
 263        bool "Include all symbols in kallsyms"
 264        depends on DEBUG_KERNEL && KALLSYMS
 265        help
 266           Normally kallsyms only contains the symbols of functions, for nicer
 267           OOPS messages.  Some debuggers can use kallsyms for other
 268           symbols too: say Y here to include all symbols, and you
 269           don't care about adding 300k to the size of your kernel.
 270
 271           Say N.
 272
 273config KALLSYMS_EXTRA_PASS
 274        bool "Do an extra kallsyms pass"
 275        depends on KALLSYMS
 276        help
 277           If kallsyms is not working correctly, the build will fail with
 278           inconsistent kallsyms data.  If that occurs, log a bug report and
 279           turn on KALLSYMS_EXTRA_PASS which should result in a stable build.
 280           Always say N here unless you find a bug in kallsyms, which must be
 281           reported.  KALLSYMS_EXTRA_PASS is only a temporary workaround while
 282           you wait for kallsyms to be fixed.
 283
 284config FUTEX
 285        bool "Enable futex support" if EMBEDDED
 286        default y
 287        help
 288          Disabling this option will cause the kernel to be built without
 289          support for "fast userspace mutexes".  The resulting kernel may not
 290          run glibc-based applications correctly.
 291
 292config EPOLL
 293        bool "Enable eventpoll support" if EMBEDDED
 294        default y
 295        help
 296          Disabling this option will cause the kernel to be built without
 297          support for epoll family of system calls.
 298
 299source "drivers/block/Kconfig.iosched"
 300
 301config CC_OPTIMIZE_FOR_SIZE
 302        bool "Optimize for size"
 303        default y if ARM || H8300
 304        default n
 305        help
 306          Enabling this option will pass "-Os" instead of "-O2" to gcc
 307          resulting in a smaller kernel.
 308
 309          WARNING: some versions of gcc may generate incorrect code with this
 310          option.  If problems are observed, a gcc upgrade may be needed.
 311
 312          If unsure, say N.
 313
 314config SHMEM
 315        default y
 316        bool "Use full shmem filesystem" if EMBEDDED && MMU
 317        help
 318          The shmem is an internal filesystem used to manage shared memory.
 319          It is backed by swap and manages resource limits. It is also exported
 320          to userspace as tmpfs if TMPFS is enabled. Disabling this
 321          option replaces shmem and tmpfs with the much simpler ramfs code,
 322          which may be appropriate on small systems without swap.
 323
 324endmenu         # General setup
 325
 326config TINY_SHMEM
 327        default !SHMEM
 328        bool
 329
 330menu "Loadable module support"
 331
 332config MODULES
 333        bool "Enable loadable module support"
 334        help
 335          Kernel modules are small pieces of compiled code which can
 336          be inserted in the running kernel, rather than being
 337          permanently built into the kernel.  You use the "modprobe"
 338          tool to add (and sometimes remove) them.  If you say Y here,
 339          many parts of the kernel can be built as modules (by
 340          answering M instead of Y where indicated): this is most
 341          useful for infrequently used options which are not required
 342          for booting.  For more information, see the man pages for
 343          modprobe, lsmod, modinfo, insmod and rmmod.
 344
 345          If you say Y here, you will need to run "make
 346          modules_install" to put the modules under /lib/modules/
 347          where modprobe can find them (you may need to be root to do
 348          this).
 349
 350          If unsure, say Y.
 351
 352config MODULE_UNLOAD
 353        bool "Module unloading"
 354        depends on MODULES
 355        help
 356          Without this option you will not be able to unload any
 357          modules (note that some modules may not be unloadable
 358          anyway), which makes your kernel slightly smaller and
 359          simpler.  If unsure, say Y.
 360
 361config MODULE_FORCE_UNLOAD
 362        bool "Forced module unloading"
 363        depends on MODULE_UNLOAD && EXPERIMENTAL
 364        help
 365          This option allows you to force a module to unload, even if the
 366          kernel believes it is unsafe: the kernel will remove the module
 367          without waiting for anyone to stop using it (using the -f option to
 368          rmmod).  This is mainly for kernel developers and desperate users.
 369          If unsure, say N.
 370
 371config OBSOLETE_MODPARM
 372        bool
 373        default y
 374        depends on MODULES
 375        help
 376          You need this option to use module parameters on modules which
 377          have not been converted to the new module parameter system yet.
 378          If unsure, say Y.
 379
 380config MODVERSIONS
 381        bool "Module versioning support (EXPERIMENTAL)"
 382        depends on MODULES && EXPERIMENTAL
 383        help
 384          Usually, you have to use modules compiled with your kernel.
 385          Saying Y here makes it sometimes possible to use modules
 386          compiled for different kernels, by adding enough information
 387          to the modules to (hopefully) spot any changes which would
 388          make them incompatible with the kernel you are running.  If
 389          unsure, say N.
 390
 391config MODULE_SIG
 392        bool "Module signature verification (EXPERIMENTAL)"
 393        depends on MODULES && EXPERIMENTAL
 394        select CRYPTO
 395        select CRYPTO_SHA1
 396        select CRYPTO_SIGNATURE
 397        help
 398          Check modules for valid signatures upon load.
 399
 400config MODULE_SIG_FORCE
 401        bool "Required modules to be validly signed (EXPERIMENTAL)"
 402        depends on MODULE_SIG
 403        help
 404          Reject unsigned modules or signed modules for which we don't have a
 405          key.
 406
 407config KMOD
 408        bool "Automatic kernel module loading"
 409        depends on MODULES
 410        help
 411          Normally when you have selected some parts of the kernel to
 412          be created as kernel modules, you must load them (using the
 413          "modprobe" command) before you can use them. If you say Y
 414          here, some parts of the kernel will be able to load modules
 415          automatically: when a part of the kernel needs a module, it
 416          runs modprobe with the appropriate arguments, thereby
 417          loading the module if it is available.  If unsure, say Y.
 418
 419config STOP_MACHINE
 420        bool
 421        default y
 422        depends on (SMP && MODULE_UNLOAD) || HOTPLUG_CPU
 423        help
 424          Need stop_machine() primitive.
 425endmenu
 426