X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/e8b81c92e78dc781a9569d7d51bd4f98d89237f8..2a6f8ab8cf345e33d515b79207e27eb842c9fc30:/package/busybox/config/init/Config.in diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in index 104af2614..bdf181c2f 100644 --- a/package/busybox/config/init/Config.in +++ b/package/busybox/config/init/Config.in @@ -5,6 +5,45 @@ 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 @@ -12,14 +51,6 @@ config BUSYBOX_CONFIG_INIT help init is the first program run when the system boots. -config BUSYBOX_CONFIG_DEBUG_INIT - bool "debugging aid" - default n - depends on BUSYBOX_CONFIG_INIT - help - Turn this on to disable all the dangerous - rebooting stuff when debugging. - config BUSYBOX_CONFIG_FEATURE_USE_INITTAB bool "Support reading an inittab file" default y @@ -27,16 +58,40 @@ config BUSYBOX_CONFIG_FEATURE_USE_INITTAB 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" @@ -57,17 +112,15 @@ config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS 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 @@ -79,11 +132,31 @@ config BUSYBOX_CONFIG_HALT help Stop all processes and either halt, reboot, or power off the system. +config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT + bool "Call telinit on shutdown and reboot" + default n + depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_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_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_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