| 1 | # |
| 2 | # For a description of the syntax of this configuration file, |
| 3 | # see scripts/kbuild/config-language.txt. |
| 4 | # |
| 5 | |
| 6 | menu "Init Utilities" |
| 7 | |
| 8 | config BUSYBOX_CONFIG_BOOTCHARTD |
| 9 | bool "bootchartd" |
| 10 | default n |
| 11 | help |
| 12 | bootchartd is commonly used to profile the boot process |
| 13 | for the purpose of speeding it up. In this case, it is started |
| 14 | by the kernel as the init process. This is configured by adding |
| 15 | the init=/sbin/bootchartd option to the kernel command line. |
| 16 | |
| 17 | It can also be used to monitor the resource usage of a specific |
| 18 | application or the running system in general. In this case, |
| 19 | bootchartd is started interactively by running bootchartd start |
| 20 | and stopped using bootchartd stop. |
| 21 | |
| 22 | config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER |
| 23 | bool "Compatible, bloated header" |
| 24 | default n |
| 25 | depends on BUSYBOX_CONFIG_BOOTCHARTD |
| 26 | help |
| 27 | Create extended header file compatible with "big" bootchartd. |
| 28 | "Big" bootchartd is a shell script and it dumps some |
| 29 | "convenient" info int the header, such as: |
| 30 | title = Boot chart for `hostname` (`date`) |
| 31 | system.uname = `uname -srvm` |
| 32 | system.release = `cat /etc/DISTRO-release` |
| 33 | system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount) |
| 34 | system.kernel.options = `cat /proc/cmdline` |
| 35 | This data is not mandatory for bootchart graph generation, |
| 36 | and is considered bloat. Nevertheless, this option |
| 37 | makes bootchartd applet to dump a subset of it. |
| 38 | |
| 39 | config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE |
| 40 | bool "Support bootchartd.conf" |
| 41 | default n |
| 42 | depends on BUSYBOX_CONFIG_BOOTCHARTD |
| 43 | help |
| 44 | Enable reading and parsing of $PWD/bootchartd.conf |
| 45 | and /etc/bootchartd.conf files. |
| 46 | config BUSYBOX_CONFIG_HALT |
| 47 | bool "poweroff, halt, and reboot" |
| 48 | default y |
| 49 | help |
| 50 | Stop all processes and either halt, reboot, or power off the system. |
| 51 | |
| 52 | config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT |
| 53 | bool "Call telinit on shutdown and reboot" |
| 54 | default n |
| 55 | depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT |
| 56 | help |
| 57 | Call an external program (normally telinit) to facilitate |
| 58 | a switch to a proper runlevel. |
| 59 | |
| 60 | This option is only available if you selected halt and friends, |
| 61 | but did not select init. |
| 62 | |
| 63 | config BUSYBOX_CONFIG_TELINIT_PATH |
| 64 | string "Path to telinit executable" |
| 65 | default "/sbin/telinit" |
| 66 | depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT |
| 67 | help |
| 68 | When busybox halt and friends have to call external telinit |
| 69 | to facilitate proper shutdown, this path is to be used when |
| 70 | locating telinit executable. |
| 71 | config BUSYBOX_CONFIG_INIT |
| 72 | bool "init" |
| 73 | default y |
| 74 | select BUSYBOX_CONFIG_FEATURE_SYSLOG |
| 75 | help |
| 76 | init is the first program run when the system boots. |
| 77 | |
| 78 | config BUSYBOX_CONFIG_FEATURE_USE_INITTAB |
| 79 | bool "Support reading an inittab file" |
| 80 | default y |
| 81 | depends on BUSYBOX_CONFIG_INIT |
| 82 | help |
| 83 | Allow init to read an inittab file when the system boot. |
| 84 | |
| 85 | config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED |
| 86 | bool "Support killing processes that have been removed from inittab" |
| 87 | default n |
| 88 | depends on BUSYBOX_CONFIG_FEATURE_USE_INITTAB |
| 89 | help |
| 90 | When respawn entries are removed from inittab and a SIGHUP is |
| 91 | sent to init, this option will make init kill the processes |
| 92 | that have been removed. |
| 93 | |
| 94 | config BUSYBOX_CONFIG_FEATURE_KILL_DELAY |
| 95 | int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED |
| 96 | range 0 1024 |
| 97 | default 0 |
| 98 | depends on BUSYBOX_CONFIG_FEATURE_KILL_REMOVED |
| 99 | help |
| 100 | With nonzero setting, init sends TERM, forks, child waits N |
| 101 | seconds, sends KILL and exits. Setting it too high is unwise |
| 102 | (child will hang around for too long and could actually kill |
| 103 | the wrong process!) |
| 104 | |
| 105 | config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY |
| 106 | bool "Run commands with leading dash with controlling tty" |
| 107 | default n |
| 108 | depends on BUSYBOX_CONFIG_INIT |
| 109 | help |
| 110 | If this option is enabled, init will try to give a controlling |
| 111 | tty to any command which has leading hyphen (often it's "-/bin/sh"). |
| 112 | More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)". |
| 113 | If device attached to STDIN_FILENO can be a ctty but is not yet |
| 114 | a ctty for other session, it will become this process' ctty. |
| 115 | This is not the traditional init behavour, but is often what you want |
| 116 | in an embedded system where the console is only accessed during |
| 117 | development or for maintenance. |
| 118 | NB: using cttyhack applet may work better. |
| 119 | |
| 120 | config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG |
| 121 | bool "Enable init to write to syslog" |
| 122 | default y |
| 123 | depends on BUSYBOX_CONFIG_INIT |
| 124 | |
| 125 | config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET |
| 126 | bool "Be _extra_ quiet on boot" |
| 127 | default n |
| 128 | depends on BUSYBOX_CONFIG_INIT |
| 129 | help |
| 130 | Prevent init from logging some messages to the console during boot. |
| 131 | |
| 132 | config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS |
| 133 | bool "Support dumping core for child processes (debugging only)" |
| 134 | default n |
| 135 | depends on BUSYBOX_CONFIG_INIT |
| 136 | help |
| 137 | If this option is enabled and the file /.init_enable_core |
| 138 | exists, then init will call setrlimit() to allow unlimited |
| 139 | core file sizes. If this option is disabled, processes |
| 140 | will not generate any core files. |
| 141 | |
| 142 | config BUSYBOX_CONFIG_FEATURE_INITRD |
| 143 | bool "Support running init from within an initrd (not initramfs)" |
| 144 | default n |
| 145 | depends on BUSYBOX_CONFIG_INIT |
| 146 | help |
| 147 | Legacy support for running init under the old-style initrd. Allows |
| 148 | the name linuxrc to act as init, and it doesn't assume init is PID 1. |
| 149 | |
| 150 | This does not apply to initramfs, which runs /init as PID 1 and |
| 151 | requires no special support. |
| 152 | |
| 153 | config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE |
| 154 | string "Initial terminal type" |
| 155 | default "linux" |
| 156 | depends on BUSYBOX_CONFIG_INIT |
| 157 | help |
| 158 | This is the initial value set by init for the TERM environment |
| 159 | variable. This variable is used by programs which make use of |
| 160 | extended terminal capabilities. |
| 161 | |
| 162 | Note that on Linux, init attempts to detect serial terminal and |
| 163 | sets TERM to "vt102" if one is found. |
| 164 | config BUSYBOX_CONFIG_MESG |
| 165 | bool "mesg" |
| 166 | default y |
| 167 | help |
| 168 | Mesg controls access to your terminal by others. It is typically |
| 169 | used to allow or disallow other users to write to your terminal |
| 170 | |
| 171 | endmenu |
| 172 | |