aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-kernel
diff options
context:
space:
mode:
authorRoy Li <rongqing.li@windriver.com>2016-07-21 22:54:41 -0400
committerMartin Jansa <Martin.Jansa@gmail.com>2016-07-29 11:00:58 +0200
commita63b404c30956da561f32cbb6d299871f3ba50d2 (patch)
tree4ac3cf9a90e16b35fa22ebb23ccbdaf9d159d85d /meta-oe/recipes-kernel
parent014c361d80fc4105f279b9a9976355365892d298 (diff)
downloadmeta-openembedded-contrib-a63b404c30956da561f32cbb6d299871f3ba50d2.tar.gz
minicoredumper: add the recipe
minicoredumper provides an alternate core dump facility for Linux to allow minimal and customized crash dumps Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-kernel')
-rw-r--r--meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init40
-rw-r--r--meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service11
-rw-r--r--meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb31
3 files changed, 82 insertions, 0 deletions
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init b/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init
new file mode 100644
index 0000000000..90ef7fa373
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# minicoredumper This shell script takes care of starting and stopping minicoredumper.
+#
+# chkconfig: 2345 24 89
+# description: minicoredumper.
+#
+# processname:
+# config: /etc/minicoredumper/
+
+### BEGIN INIT INFO
+# Provides: minicoredumper
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Should-Start: $syslog $network
+# Should-Stop: $syslog $network
+# Short-Description:
+# Description:
+### END INIT INFO
+
+. /etc/init.d/functions
+
+case "$1" in
+ start)
+ echo "|/usr/bin/minicoredumper %p %u %g %s %t %h %e" > /proc/sys/kernel/core_pattern
+ ;;
+ stop)
+ echo "core" > /proc/sys/kernel/core_pattern
+ ;;
+ status)
+ if grep -q minicoredumper /proc/sys/kernel/core_pattern ; then
+ echo "minicoredumper is running"
+ else
+ echo "minicoredumper is stopped"
+ fi
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status}"
+ exit 2
+esac
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service b/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service
new file mode 100644
index 0000000000..851b54ccc1
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Enable minicoredumper.
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/bin/sh -c '/bin/echo "|/usr/bin/minicoredumper %%p %%u %%g %%s %%t %%h %%e" > /proc/sys/kernel/core_pattern'
+ExecStop=/bin/sh -c '/bin/echo "core" > /proc/sys/kernel/core_pattern'
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb
new file mode 100644
index 0000000000..babe544483
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb
@@ -0,0 +1,31 @@
+SUMMARY = "minicoredumper provides an alternate core dump facility for Linux \
+to allow minimal and customized crash dumps"
+LICENSE = " LGPLv2.1 & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=45445387350de96a0e70410470ee5cab"
+DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+SRC_URI = "https://linutronix.de/${BPN}/files/${BPN}-${PV}.tar.gz \
+ file://minicoredumper.service \
+ file://minicoredumper.init \
+"
+SRC_URI[md5sum] = "5ba9d116b52a8e2fb93456260644e753"
+SRC_URI[sha256sum] = "1b0eeb3d70dbd2ad6f2f673e4e3446e5dd784e132730e21d8f9dc0977e47dd9a"
+
+SYSTEMD_SERVICE_${PN} = "minicoredumper.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "minicoredumper"
+INITSCRIPT_PARAMS_${PN} = "defaults 89"
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/minicoredumper
+ cp -rf ${S}/etc/* ${D}/${sysconfdir}/
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/minicoredumper.service ${D}${systemd_system_unitdir}
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper
+}