From a502e406c4e47b72eeb052ec2accba55fb6af972 Mon Sep 17 00:00:00 2001 From: Wenlin Kang Date: Tue, 17 Oct 2017 10:21:29 +0800 Subject: kexec-tools: add systemd support for kdump Add file kdump.service to support kdump in systemd. Signed-off-by: Wenlin Kang Signed-off-by: Ross Burton --- meta/recipes-kernel/kexec/kexec-tools.inc | 1 + .../recipes-kernel/kexec/kexec-tools/kdump.service | 12 +++++++++++ meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb | 23 +++++++++++++++++----- 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 meta/recipes-kernel/kexec/kexec-tools/kdump.service diff --git a/meta/recipes-kernel/kexec/kexec-tools.inc b/meta/recipes-kernel/kexec/kexec-tools.inc index bdfe024a79..c689bec1f9 100644 --- a/meta/recipes-kernel/kexec/kexec-tools.inc +++ b/meta/recipes-kernel/kexec/kexec-tools.inc @@ -11,6 +11,7 @@ DEPENDS = "zlib xz" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \ file://kdump \ file://kdump.conf \ + file://kdump.service \ " PR = "r1" diff --git a/meta/recipes-kernel/kexec/kexec-tools/kdump.service b/meta/recipes-kernel/kexec/kexec-tools/kdump.service new file mode 100644 index 0000000000..4e65a46ac4 --- /dev/null +++ b/meta/recipes-kernel/kexec/kexec-tools/kdump.service @@ -0,0 +1,12 @@ +[Unit] +Description=Reboot and dump vmcore via kexec +DefaultDependencies=no + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@LIBEXECDIR@/kdump-helper start +ExecStop=@LIBEXECDIR@/kdump-helper stop + +[Install] +WantedBy=multi-user.target diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb index bd89720e5b..0f6398f13e 100644 --- a/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb +++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb @@ -34,19 +34,32 @@ ALLOW_EMPTY_${PN} = "1" RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg" FILES_kexec = "${sbindir}/kexec" -FILES_kdump = "${sbindir}/kdump ${sysconfdir}/init.d/kdump \ - ${sysconfdir}/sysconfig/kdump.conf" +FILES_kdump = "${sbindir}/kdump \ + ${sysconfdir}/sysconfig/kdump.conf \ + ${sysconfdir}/init.d/kdump \ + ${libexecdir}/kdump-helper \ + ${systemd_unitdir}/system/kdump.service \ +" + FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg" -inherit update-rc.d +inherit update-rc.d systemd INITSCRIPT_PACKAGES = "kdump" INITSCRIPT_NAME_kdump = "kdump" INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ." do_install_append () { - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump install -d ${D}${sysconfdir}/sysconfig install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -D -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper + install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service + sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service + fi } -- cgit v1.2.3