summaryrefslogtreecommitdiff
path: root/package/busybox/config/init/Config.in
blob: 33ddd603bd2dcf95688413f89e9db788598ca65d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

menu "Init Utilities"

config BUSYBOX_BOOTCHARTD
	bool "bootchartd"
	default n
	help
	  bootchartd is commonly used to profile the boot process
	  for the purpose of speeding it up. In this case, it is started
	  by the kernel as the init process. This is configured by adding
	  the init=/sbin/bootchartd option to the kernel command line.

	  It can also be used to monitor the resource usage of a specific
	  application or the running system in general. In this case,
	  bootchartd is started interactively by running bootchartd start
	  and stopped using bootchartd stop.

config BUSYBOX_FEATURE_BOOTCHARTD_BLOATED_HEADER
	bool "Compatible, bloated header"
	default y
	depends on BUSYBOX_BOOTCHARTD
	help
	  Create extended header file compatible with "big" bootchartd.
	  "Big" bootchartd is a shell script and it dumps some
	  "convenient" info int the header, such as:
	    title = Boot chart for `hostname` (`date`)
	    system.uname = `uname -srvm`
	    system.release = `cat /etc/DISTRO-release`
	    system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
	    system.kernel.options = `cat /proc/cmdline`
	  This data is not mandatory for bootchart graph generation,
	  and is considered bloat. Nevertheless, this option
	  makes bootchartd applet to dump a subset of it.

config BUSYBOX_FEATURE_BOOTCHARTD_CONFIG_FILE
	bool "Support bootchartd.conf"
	default y
	depends on BUSYBOX_BOOTCHARTD
	help
	  Enable reading and parsing of $PWD/bootchartd.conf
	  and /etc/bootchartd.conf files.

config BUSYBOX_HALT
	bool "halt"
	default y
	help
	  Stop all processes and either halt, reboot, or power off the system.

config BUSYBOX_POWEROFF
	bool "poweroff"
	default y
	help
	  Stop all processes and power off the system.

config BUSYBOX_REBOOT
	bool "reboot"
	default y
	help
	  Stop all processes and reboot the system.

config BUSYBOX_FEATURE_WAIT_FOR_INIT
	bool "Before signaling init, make sure it is ready for it"
	default y
	depends on BUSYBOX_HALT || BUSYBOX_POWEROFF || BUSYBOX_REBOOT
	help
	In rare cases, poweroff may be commanded by firmware to OS
	even before init process exists. On Linux, this spawns
	"/sbin/poweroff" very early. This option adds code
	which checks that init is ready to receive poweroff
	commands. Code size increase of ~80 bytes.

config BUSYBOX_FEATURE_CALL_TELINIT
	bool "Call telinit on shutdown and reboot"
	default n
	depends on BUSYBOX_HALT && !BUSYBOX_INIT
	help
	  Call an external program (normally telinit) to facilitate
	  a switch to a proper runlevel.

	  This option is only available if you selected halt and friends,
	  but did not select init.

config BUSYBOX_TELINIT_PATH
	string "Path to telinit executable"
	default "/sbin/telinit"
	depends on BUSYBOX_FEATURE_CALL_TELINIT
	help
	  When busybox halt and friends have to call external telinit
	  to facilitate proper shutdown, this path is to be used when
	  locating telinit executable.

config BUSYBOX_INIT
	bool "init"
	default y
	depends on !ADK_PACKAGE_SIMPLEINIT
	select BUSYBOX_FEATURE_SYSLOG
	help
	  init is the first program run when the system boots.

config BUSYBOX_LINUXRC
	bool "Support running init from within an initrd (not initramfs)"
	default n
	select BUSYBOX_FEATURE_SYSLOG
	help
	  Legacy support for running init under the old-style initrd. Allows
	  the name linuxrc to act as init, and it doesn't assume init is PID 1.

	  This does not apply to initramfs, which runs /init as PID 1 and
	  requires no special support.

config BUSYBOX_FEATURE_USE_INITTAB
	bool "Support reading an inittab file"
	default y
	depends on BUSYBOX_INIT
	help
	  Allow init to read an inittab file when the system boot.

config BUSYBOX_FEATURE_KILL_REMOVED
	bool "Support killing processes that have been removed from inittab"
	default n
	depends on BUSYBOX_FEATURE_USE_INITTAB
	help
	  When respawn entries are removed from inittab and a SIGHUP is
	  sent to init, this option will make init kill the processes
	  that have been removed.

config BUSYBOX_FEATURE_KILL_DELAY
	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
	range 0 1024
	default 0
	depends on BUSYBOX_FEATURE_KILL_REMOVED
	help
	  With nonzero setting, init sends TERM, forks, child waits N
	  seconds, sends KILL and exits. Setting it too high is unwise
	  (child will hang around for too long and could actually kill
	  the wrong process!)

config BUSYBOX_FEATURE_INIT_SCTTY
	bool "Run commands with leading dash with controlling tty"
	default y
	depends on BUSYBOX_INIT
	help
	  If this option is enabled, init will try to give a controlling
	  tty to any command which has leading hyphen (often it's "-/bin/sh").
	  More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
	  If device attached to STDIN_FILENO can be a ctty but is not yet
	  a ctty for other session, it will become this process' ctty.
	  This is not the traditional init behavour, but is often what you want
	  in an embedded system where the console is only accessed during
	  development or for maintenance.
	  NB: using cttyhack applet may work better.

config BUSYBOX_FEATURE_INIT_SYSLOG
	bool "Enable init to write to syslog"
	default y
	depends on BUSYBOX_INIT

config BUSYBOX_FEATURE_INIT_QUIET
	bool "Be quiet on boot (no 'init started:' message)"
	default y
	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC

config BUSYBOX_FEATURE_EXTRA_QUIET
	bool "Be _extra_ quiet on boot"
	default y
	depends on BUSYBOX_INIT
	help
	  Prevent init from logging some messages to the console during boot.

config BUSYBOX_FEATURE_INIT_COREDUMPS
	bool "Support dumping core for child processes (debugging only)"
	default n
	depends on BUSYBOX_INIT
	help
	  If this option is enabled and the file /.init_enable_core
	  exists, then init will call setrlimit() to allow unlimited
	  core file sizes. If this option is disabled, processes
	  will not generate any core files.

config BUSYBOX_INIT_TERMINAL_TYPE
	string "Initial terminal type"
	default "linux"
	depends on BUSYBOX_INIT
	help
	  This is the initial value set by init for the TERM environment
	  variable. This variable is used by programs which make use of
	  extended terminal capabilities.

	  Note that on Linux, init attempts to detect serial terminal and
	  sets TERM to "vt102" if one is found.

config BUSYBOX_FEATURE_INIT_MODIFY_CMDLINE
	bool "Modify the command-line to \"init\""
	default n
	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
	help
	  When launched as PID 1 and after parsing its arguments, init
	  wipes all the arguments but argv[0] and rewrites argv[0] to
	  contain only "init", so that its command-line appears solely as
	  "init" in tools such as ps.
	  If this option is set to Y, init will keep its original behavior,
	  otherwise, all the arguments including argv[0] will be preserved,
	  be they parsed or ignored by init.
	  The original command-line used to launch init can then be
	  retrieved in /proc/1/cmdline on Linux, for example.

config BUSYBOX_MESG
	bool "mesg"
	default n
	help
	  Mesg controls access to your terminal by others. It is typically
	  used to allow or disallow other users to write to your terminal

config BUSYBOX_FEATURE_MESG_ENABLE_ONLY_GROUP
	bool "Enable writing to tty only by group, not by everybody"
	default y
	depends on BUSYBOX_MESG
	help
	  Usually, ttys are owned by group "tty", and "write" tool is
	  setgid to this group. This way, "mesg y" only needs to enable
	  "write by owning group" bit in tty mode.

	  If you set this option to N, "mesg y" will enable writing
	  by anybody at all. This is not recommended.

endmenu