[OE-core] [PATCH] kexec-tools: add systemd support for kdump
Wenlin Kang
wenlin.kang at windriver.com
Mon Oct 23 03:09:17 UTC 2017
On 2017年10月17日 10:21, Wenlin Kang wrote:
> Add file kdump.service to support kdump in systemd.
>
> Signed-off-by: Wenlin Kang <wenlin.kang at windriver.com>
> ---
> 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 bdfe024..c689bec 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 0000000..4e65a46
> --- /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 bd89720..0f6398f1 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, at LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service
> + fi
> }
ping ......
--
Thanks,
Wenlin Kang
More information about the Openembedded-core
mailing list