1#
2# For a description of the syntax of this configuration file,
3# see scripts/kbuild/config-language.txt.
4#
5
6menu "Init Utilities"
7
8INSERT
9
10config INIT
11	bool "init"
12	default y
13	select FEATURE_SYSLOG
14	help
15	  init is the first program run when the system boots.
16
17config FEATURE_USE_INITTAB
18	bool "Support reading an inittab file"
19	default y
20	depends on INIT
21	help
22	  Allow init to read an inittab file when the system boot.
23
24config FEATURE_KILL_REMOVED
25	bool "Support killing processes that have been removed from inittab"
26	default n
27	depends on FEATURE_USE_INITTAB
28	help
29	  When respawn entries are removed from inittab and a SIGHUP is
30	  sent to init, this option will make init kill the processes
31	  that have been removed.
32
33config FEATURE_KILL_DELAY
34	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
35	range 0 1024
36	default 0
37	depends on FEATURE_KILL_REMOVED
38	help
39	  With nonzero setting, init sends TERM, forks, child waits N
40	  seconds, sends KILL and exits. Setting it too high is unwise
41	  (child will hang around for too long and could actually kill
42	  the wrong process!)
43
44config FEATURE_INIT_SCTTY
45	bool "Run commands with leading dash with controlling tty"
46	default y
47	depends on INIT
48	help
49	  If this option is enabled, init will try to give a controlling
50	  tty to any command which has leading hyphen (often it's "-/bin/sh").
51	  More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
52	  If device attached to STDIN_FILENO can be a ctty but is not yet
53	  a ctty for other session, it will become this process' ctty.
54	  This is not the traditional init behavour, but is often what you want
55	  in an embedded system where the console is only accessed during
56	  development or for maintenance.
57	  NB: using cttyhack applet may work better.
58
59config FEATURE_INIT_SYSLOG
60	bool "Enable init to write to syslog"
61	default y
62	depends on INIT
63
64config FEATURE_EXTRA_QUIET
65	bool "Be _extra_ quiet on boot"
66	default y
67	depends on INIT
68	help
69	  Prevent init from logging some messages to the console during boot.
70
71config FEATURE_INIT_COREDUMPS
72	bool "Support dumping core for child processes (debugging only)"
73	default y
74	depends on INIT
75	help
76	  If this option is enabled and the file /.init_enable_core
77	  exists, then init will call setrlimit() to allow unlimited
78	  core file sizes. If this option is disabled, processes
79	  will not generate any core files.
80
81config FEATURE_INITRD
82	bool "Support running init from within an initrd (not initramfs)"
83	default y
84	depends on INIT
85	help
86	  Legacy support for running init under the old-style initrd. Allows
87	  the name linuxrc to act as init, and it doesn't assume init is PID 1.
88
89	  This does not apply to initramfs, which runs /init as PID 1 and
90	  requires no special support.
91
92config HALT
93	bool "poweroff, halt, and reboot"
94	default y
95	help
96	  Stop all processes and either halt, reboot, or power off the system.
97
98config FEATURE_CALL_TELINIT
99	bool "Call telinit on shutdown and reboot"
100	default y
101	depends on HALT && !INIT
102	help
103	  Call an external program (normally telinit) to facilitate
104	  a switch to a proper runlevel.
105
106	  This option is only available if you selected halt and friends,
107	  but did not select init.
108
109config TELINIT_PATH
110	string "Path to telinit executable"
111	default "/sbin/telinit"
112	depends on FEATURE_CALL_TELINIT
113	help
114	  When busybox halt and friends have to call external telinit
115	  to facilitate proper shutdown, this path is to be used when
116	  locating telinit executable.
117
118config MESG
119	bool "mesg"
120	default y
121	help
122	  Mesg controls access to your terminal by others. It is typically
123	  used to allow or disallow other users to write to your terminal
124
125endmenu
126