menu "Init Utilities"
+config BUSYBOX_CONFIG_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_CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER
+ bool "Compatible, bloated header"
+ default n
+ depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
+ bool "Support bootchartd.conf"
+ default n
+ depends on BUSYBOX_CONFIG_BOOTCHARTD
+ help
+ Enable reading and parsing of $PWD/bootchartd.conf
+ and /etc/bootchartd.conf files.
+
config BUSYBOX_CONFIG_INIT
bool "init"
default y
+ select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
init is the first program run when the system boots.
config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
- bool " Support reading an inittab file?"
+ bool "Support reading an inittab file"
default y
depends on BUSYBOX_CONFIG_INIT
help
Allow init to read an inittab file when the system boot.
-config BUSYBOX_CONFIG_FEATURE_INITRD
- bool " Support running init from within an initrd?"
+config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
+ bool "Support killing processes that have been removed from inittab"
+ default n
+ depends on BUSYBOX_CONFIG_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_CONFIG_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_CONFIG_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_CONFIG_FEATURE_INIT_SCTTY
+ bool "Run commands with leading dash with controlling tty"
default n
depends on BUSYBOX_CONFIG_INIT
help
- Allow init to be called from an initrd as linuxrc.
+ 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_CONFIG_FEATURE_INIT_SYSLOG
+ bool "Enable init to write to syslog"
+ default y
+ depends on BUSYBOX_CONFIG_INIT
+
+config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
+ bool "Be _extra_ quiet on boot"
+ default n
+ depends on BUSYBOX_CONFIG_INIT
+ help
+ Prevent init from logging some messages to the console during boot.
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
- bool " Support dumping core for child processes (debugging only)?"
+ bool "Support dumping core for child processes (debugging only)"
default n
depends on BUSYBOX_CONFIG_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
+ core file sizes. If this option is disabled, processes
will not generate any core files.
-config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
- bool " Should init be _extra_ quiet on boot?"
+config BUSYBOX_CONFIG_FEATURE_INITRD
+ bool "Support running init from within an initrd (not initramfs)"
default n
depends on BUSYBOX_CONFIG_INIT
help
- Prevent init from logging some messages to the console
- during boot.
+ 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_CONFIG_HALT
- bool "halt"
- default n
+ bool "poweroff, halt, and reboot"
+ default y
help
- Stop all processes and halt the system.
+ Stop all processes and either halt, reboot, or power off the system.
-config BUSYBOX_CONFIG_POWEROFF
- bool "poweroff"
+config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+ bool "Call telinit on shutdown and reboot"
default n
+ depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
help
- Stop all processes and (try to) power off the system.
+ Call an external program (normally telinit) to facilitate
+ a switch to a proper runlevel.
-config BUSYBOX_CONFIG_REBOOT
- bool "reboot"
- default y
+ This option is only available if you selected halt and friends,
+ but did not select init.
+
+config BUSYBOX_CONFIG_TELINIT_PATH
+ string "Path to telinit executable"
+ default "/sbin/telinit"
+ depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
help
- Stop all processes and reboot the system.
+ 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_CONFIG_MESG
bool "mesg"
default y
help
- Mesg controls access to your terminal by others. It is typically
+ Mesg controls access to your terminal by others. It is typically
used to allow or disallow other users to write to your terminal
endmenu
-