menu "Init Utilities"
-config BUSYBOX_CONFIG_INIT
- bool "init"
+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_HALT
+ bool "poweroff, halt, and reboot"
default y
help
- init is the first program run when the system boots.
+ Stop all processes and either halt, reboot, or power off the system.
-config BUSYBOX_CONFIG_DEBUG_INIT
- bool "debugging aid"
+config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+ bool "Call telinit on shutdown and reboot"
default n
- depends on BUSYBOX_CONFIG_INIT
+ depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
help
- Turn this on to disable all the dangerous
- rebooting stuff when debugging.
+ 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_CONFIG_TELINIT_PATH
+ string "Path to telinit executable"
+ default "/sbin/telinit"
+ depends on BUSYBOX_CONFIG_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_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"
help
Allow init to read an inittab file when the system boot.
+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 "Support running commands with a controlling-tty"
+ bool "Run commands with leading dash with controlling tty"
default n
depends on BUSYBOX_CONFIG_INIT
help
- If this option is enabled a command starting with hyphen (-)
- is run in its own session (setsid(2)) and possibly with a
- controlling tty (TIOCSCTTY). 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.
+ 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"
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_INITRD
bool "Support running init from within an initrd (not initramfs)"
default n
depends on BUSYBOX_CONFIG_INIT
help
- Legacy support for running init under the old-style initrd. Allows
+ 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 "poweroff, halt, and reboot"
- default y
+config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
+ string "Initial terminal type"
+ default "linux"
+ depends on BUSYBOX_CONFIG_INIT
help
- Stop all processes and either halt, reboot, or power off the system.
+ 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_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