kexec-tools: add systemd support for kdump

Add file kdump.service to support kdump in systemd.

(From OE-Core rev: d184a1365ededd30952ec4e8e6f6deb6eafb3b31)

Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Wenlin Kang
2017-10-17 10:21:29 +08:00
committed by Richard Purdie
parent 33a48469bd
commit 0fbaee9077
3 changed files with 31 additions and 5 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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
}