#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

menu "Init Utilities"

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

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 feature will 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_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_FEATURE_INITRD
	bool "Support running init from within an initrd (not initramfs)"
	default n
	depends on BUSYBOX_INIT
	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_HALT
	bool "poweroff, halt, and reboot"
	default y
	help
	  Stop all processes and either halt, reboot, or power off the system.

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_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

endmenu
