aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/usage.h12
-rw-r--r--shell/Config.in15
2 files changed, 23 insertions, 4 deletions
diff --git a/include/usage.h b/include/usage.h
index 9d9ad008b..be52f187f 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -649,8 +649,16 @@
"\n -S SALT" \
) \
-#define cttyhack_trivial_usage NOUSAGE_STR
-#define cttyhack_full_usage ""
+#define cttyhack_trivial_usage \
+ "PROG ARGS"
+#define cttyhack_full_usage "\n\n" \
+ "Give PROG a controlling tty if possible." \
+ "\nExample for /etc/inittab (for busybox init):" \
+ "\n ::respawn:/bin/cttyhack /bin/sh" \
+ "\nGiving controlling tty to shell running with PID 1:" \
+ "\n $ exec cttyhack sh" \
+ "\nStarting an interative shell from boot shell script:" \
+ "\n setsid cttyhack sh" \
#define cut_trivial_usage \
"[OPTIONS] [FILE]..."
diff --git a/shell/Config.in b/shell/Config.in
index 3b1650615..36a931715 100644
--- a/shell/Config.in
+++ b/shell/Config.in
@@ -354,9 +354,20 @@ config CTTYHACK
It analyzes stdin with various ioctls, trying to determine whether
it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
If it detects one, it closes stdin/out/err and reopens that device.
- Then it executes given program. Usage example for /etc/inittab
- (for busybox init):
+ Then it executes given program. Opening the device will make
+ that device a controlling tty. This may require cttyhack
+ to be a session leader.
+
+ Example for /etc/inittab (for busybox init):
::respawn:/bin/cttyhack /bin/sh
+ Giving controlling tty to shell running with PID 1:
+
+ $ exec cttyhack sh
+
+ Starting an interative shell from boot shell script:
+
+ setsid cttyhack sh
+
endmenu