From: Denis Vlasenko Date: Tue, 21 Oct 2008 17:14:26 +0000 (-0000) Subject: init: downgrade ENABLE_DEBUG_INIT to just a #define to prevent people X-Git-Tag: 1_13_0~84 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5cb54b5adcda45c71120ec93c0bbbd558703a218;p=oweals%2Fbusybox.git 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. --- diff --git a/TODO_config_nommu b/TODO_config_nommu index bdef3e91e..4ed69e07a 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 6a45e7d3d..6b5799fe3 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 e00a3b128..ae2dd6a7a 100644 --- a/init/init.c +++ b/init/init.c @@ -14,6 +14,10 @@ #include #include +/* 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 96c1978ff..6cd82c3ec 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