Rework the logging daemons startup
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Wed, 29 Jun 2011 13:46:20 +0000 (15:46 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 4 Jul 2011 18:57:10 +0000 (20:57 +0200)
The logging mechanism startup being in inittab, it isn't easy to
overcharge the default policy. With this patch, the startup of the
syslog daemon is moved to an init.d script, that can easily be
overwritten.

[Peter: use install -D]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
fs/skeleton/etc/inittab
package/busybox/S01logging [new file with mode: 0644]
package/busybox/busybox.mk

index 0e504679b0aeaa84b6d6bc6bd037cd0783b2e2fd..191c52590d47c33eed6c09e62625019ba37e3b98 100644 (file)
@@ -28,8 +28,6 @@ null::sysinit:/bin/hostname -F /etc/hostname
 
 # Logging junk
 null::sysinit:/bin/touch /var/log/messages
-null::respawn:/sbin/syslogd -n -m 0
-null::respawn:/sbin/klogd -n
 tty3::respawn:/usr/bin/tail -f /var/log/messages
 
 # Stuff to do for the 3-finger salute
diff --git a/package/busybox/S01logging b/package/busybox/S01logging
new file mode 100644 (file)
index 0000000..6badebe
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Start logging
+#
+
+case "$1" in
+  start)
+       echo -n "Starting logging :"
+       start-stop-daemon -S -q -p /var/run/syslog.pid --exec /sbin/syslogd -- -m 0
+       start-stop-daemon -S -q -p /var/run/klogd.pid --exec /sbin/klogd
+       echo "OK"
+       ;;
+  stop)
+       echo -n "Stopping logging :"
+       start-stop-daemon -K -q -p /var/run/syslog.pid
+       start-stop-daemon -K -q -p /var/run/klogd.pid
+       echo "OK"
+       ;;
+  restart|reload)
+       ;;
+  *)
+       echo $"Usage: $0 {start|stop|restart}"
+       exit 1
+esac
+
+exit $?
index d2ba22625aa5f40aa512d2448b7d9aac8cd20849..4931b0744c4231d8e0697ceba8b4a19153b66a4c 100644 (file)
@@ -122,6 +122,11 @@ define BUSYBOX_DISABLE_MMU_APPLETS
 endef
 endif
 
+define BUSYBOX_INSTALL_LOGGING_SCRIPT
+       $(INSTALL) -m 0755 -D package/busybox/S01logging \
+               $(TARGET_DIR)/etc/init.d/S01logging
+endef
+
 # We do this here to avoid busting a modified .config in configure
 BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG
 
@@ -152,6 +157,7 @@ define BUSYBOX_INSTALL_TARGET_CMDS
                        $(TARGET_DIR)/usr/share/udhcpc/default.script; \
        fi
        $(BUSYBOX_INSTALL_MDEV_SCRIPT)
+       $(BUSYBOX_INSTALL_LOGGING_SCRIPT)
 endef
 
 define BUSYBOX_UNINSTALL_TARGET_CMDS