[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