summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>2015-07-13 11:05:36 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-07-13 13:01:04 +0200
commitb98dd2355780c732bf440042fb8faafe731efc94 (patch)
tree10aabee5eba3140afb397b055b48a5dcc9e5f698
parentc1c7e8b7885263b3ffca466ef40f3264198ea509 (diff)
downloadbuildroot-b98dd2355780c732bf440042fb8faafe731efc94.tar.gz
buildroot-b98dd2355780c732bf440042fb8faafe731efc94.zip
busybox: improve support for telnetd
If target has connection to the network it might be pretty useful to have telnet connection to it instead of serial console or even in addition to serial console. This changes makes the busybox package automatically install an init script, and tune the securetty file to make telnetd work when CONFIG_FEATURE_TELNETD_STANDALONE is enabled in the Busybox configuration. [Thomas: - don't create a new Buildroot Config.in option, just test if CONFIG_FEATURE_TELNETD_STANDALONE is enabled or not in the Busybox configuration - move the securetty tuning in busybox.mk instead of system.mk - use start-stop-daemon in the init script, in order to properly implement the stop and restart actions - misc other minor improvements in the init script.] [yann.morin.1998@free.fr: - don't use securetty - drop stray variable BUSYBOX_SET_STANDALONE_TELNETD] Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rwxr-xr-xpackage/busybox/S50telnet36
-rw-r--r--package/busybox/busybox.mk9
2 files changed, 45 insertions, 0 deletions
diff --git a/package/busybox/S50telnet b/package/busybox/S50telnet
new file mode 100755
index 0000000000..463a772e4c
--- /dev/null
+++ b/package/busybox/S50telnet
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# Start telnet....
+#
+
+start() {
+ echo -n "Starting telnetd: "
+ start-stop-daemon -S -q -m -b -p /var/run/telnetd.pid \
+ -x /usr/sbin/telnetd -- -F
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+
+stop() {
+ echo -n "Stopping telnetd: "
+ start-stop-daemon -K -q -p /var/run/telnetd.pid \
+ -x /usr/sbin/telnetd
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ stop
+ start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit $?
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 92874cd4db..9289e0a211 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -168,6 +168,14 @@ endef
BUSYBOX_DEPENDENCIES += linux-pam
endif
+# Telnet support
+define BUSYBOX_INSTALL_TELNET_SCRIPT
+ if grep -q CONFIG_FEATURE_TELNETD_STANDALONE=y $(@D)/.config; then \
+ $(INSTALL) -m 0755 -D package/busybox/S50telnet \
+ $(TARGET_DIR)/etc/init.d/S50telnet ; \
+ fi
+endef
+
# Enable "noclobber" in install.sh, to prevent BusyBox from overwriting any
# full-blown versions of apps installed by other packages with sym/hard links.
define BUSYBOX_NOCLOBBER_INSTALL
@@ -205,6 +213,7 @@ define BUSYBOX_INSTALL_INIT_SYSV
$(BUSYBOX_INSTALL_MDEV_SCRIPT)
$(BUSYBOX_INSTALL_LOGGING_SCRIPT)
$(BUSYBOX_INSTALL_WATCHDOG_SCRIPT)
+ $(BUSYBOX_INSTALL_TELNET_SCRIPT)
endef
$(eval $(kconfig-package))
OpenPOWER on IntegriCloud