summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2008-10-21 17:14:26 +0000
committerDenis Vlasenko2008-10-21 17:14:26 +0000
commit5cb54b5adcda45c71120ec93c0bbbd558703a218 (patch)
tree9a83eead32edfd2dbfc059c9a5a994c7d404b3ce
parent37890e2f375b2b088e777877a8fc81654f59b81b (diff)
downloadbusybox-5cb54b5adcda45c71120ec93c0bbbd558703a218.zip
busybox-5cb54b5adcda45c71120ec93c0bbbd558703a218.tar.gz
init: downgrade ENABLE_DEBUG_INIT to just a #define to prevent people
from selecting it in error. It has to be used ONLY for debugging init, never in production, as resulting init has serious differences.
-rw-r--r--TODO_config_nommu1
-rw-r--r--init/Config.in8
-rw-r--r--init/init.c10
-rw-r--r--scripts/defconfig1
4 files changed, 7 insertions, 13 deletions
diff --git a/TODO_config_nommu b/TODO_config_nommu
index bdef3e9..4ed69e0 100644
--- a/TODO_config_nommu
+++ b/TODO_config_nommu
@@ -369,7 +369,6 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
# Init Utilities
#
CONFIG_INIT=y
-# CONFIG_DEBUG_INIT is not set
CONFIG_FEATURE_USE_INITTAB=y
CONFIG_FEATURE_KILL_REMOVED=y
CONFIG_FEATURE_KILL_DELAY=1
diff --git a/init/Config.in b/init/Config.in
index 6a45e7d..6b5799f 100644
--- a/init/Config.in
+++ b/init/Config.in
@@ -12,14 +12,6 @@ config INIT
help
init is the first program run when the system boots.
-config DEBUG_INIT
- bool "Debugging aid"
- default n
- depends on INIT
- help
- Turn this on to disable all the dangerous
- rebooting stuff when debugging.
-
config FEATURE_USE_INITTAB
bool "Support reading an inittab file"
default y
diff --git a/init/init.c b/init/init.c
index e00a3b1..ae2dd6a 100644
--- a/init/init.c
+++ b/init/init.c
@@ -14,6 +14,10 @@
#include <paths.h>
#include <sys/reboot.h>
+/* Was a CONFIG_xxx option. A lot of people were building
+ * not fully functional init by switching it on! */
+#define DEBUG_INIT 0
+
#define COMMAND_SIZE 256
#define CONSOLE_NAME_SIZE 32
#define MAXENV 16 /* Number of env. vars */
@@ -103,7 +107,7 @@ static void loop_forever(void)
* "where" may be bitwise-or'd from L_LOG | L_CONSOLE
* NB: careful, we can be called after vfork!
*/
-#define messageD(...) do { if (ENABLE_DEBUG_INIT) message(__VA_ARGS__); } while (0)
+#define messageD(...) do { if (DEBUG_INIT) message(__VA_ARGS__); } while (0)
static void message(int where, const char *fmt, ...)
__attribute__ ((format(printf, 2, 3)));
static void message(int where, const char *fmt, ...)
@@ -275,7 +279,7 @@ static void open_stdio_to_tty(const char* tty_name, int exit_on_failure)
tty_name, strerror(errno));
if (exit_on_failure)
_exit(EXIT_FAILURE);
- if (ENABLE_DEBUG_INIT)
+ if (DEBUG_INIT)
_exit(2);
/* NB: we don't reach this if we were called after vfork.
* Thus halt_reboot_pwoff() itself need not be vfork-safe. */
@@ -788,7 +792,7 @@ int init_main(int argc UNUSED_PARAM, char **argv)
return kill(1, SIGHUP);
}
- if (!ENABLE_DEBUG_INIT) {
+ if (!DEBUG_INIT) {
/* Expect to be invoked as init with PID=1 or be invoked as linuxrc */
if (getpid() != 1
&& (!ENABLE_FEATURE_INITRD || !strstr(applet_name, "linuxrc"))
diff --git a/scripts/defconfig b/scripts/defconfig
index 96c1978..6cd82c3 100644
--- a/scripts/defconfig
+++ b/scripts/defconfig
@@ -367,7 +367,6 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
# Init Utilities
#
CONFIG_INIT=y
-# CONFIG_DEBUG_INIT is not set
CONFIG_FEATURE_USE_INITTAB=y
# CONFIG_FEATURE_KILL_REMOVED is not set
CONFIG_FEATURE_KILL_DELAY=0