diff --git a/99-kdump.conf b/99-kdump.conf new file mode 100644 index 00000000..80d6e43b --- /dev/null +++ b/99-kdump.conf @@ -0,0 +1,3 @@ +dracutmodules='' +add_dracutmodules=' kdumpbase ' +omit_dracutmodules=' rdma plymouth resume ifcfg earlykdump ' diff --git a/Makefile b/Makefile index 5029a59c..5e402f03 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ manpages: install -D -m 644 kdump.conf.5 $(DESTDIR)$(mandir)/man5/kdump.conf.5 install: dracut-modules kdump-conf kdump-sysconfig manpages - mkdir -p $(DESTDIR)$(pkglibdir) + mkdir -p $(DESTDIR)$(pkglibdir)/dracut.conf.d mkdir -p -m755 $(DESTDIR)$(sysconfdir)/kdump/pre.d mkdir -p -m755 $(DESTDIR)$(sysconfdir)/kdump/post.d mkdir -p -m755 $(DESTDIR)$(localstatedir)/crash @@ -46,6 +46,7 @@ install: dracut-modules kdump-conf kdump-sysconfig manpages install -D -m 644 kdump.conf $(DESTDIR)$(sysconfdir) install -D -m 644 kdump.sysconfig $(DESTDIR)$(sysconfdir)/sysconfig/kdump install -D -m 755 kdump-lib.sh kdump-lib-initramfs.sh kdump-logger.sh -t $(DESTDIR)$(pkglibdir) + install -D -m 644 99-kdump.conf -t $(DESTDIR)$(pkglibdir)/dracut.conf.d ifeq ($(ARCH), $(filter ppc64le ppc64,$(ARCH))) install -m 755 mkfadumprd $(DESTDIR)$(sbindir) diff --git a/mkdumprd b/mkdumprd index 19333a0c..a6bdebbb 100644 --- a/mkdumprd +++ b/mkdumprd @@ -29,7 +29,6 @@ SSH_KEY_LOCATION=$DEFAULT_SSHKEY SAVE_PATH=$(get_save_path) declare -a dracut_args -dracut_args+=(--add kdumpbase) dracut_args+=(--quiet) dracut_args+=(--hostonly) dracut_args+=(--hostonly-cmdline) @@ -37,7 +36,6 @@ dracut_args+=(--hostonly-i18n) dracut_args+=(--hostonly-mode strict) dracut_args+=(--hostonly-nics '') dracut_args+=(--aggressive-strip) -dracut_args+=(--omit "rdma plymouth resume ifcfg earlykdump") MKDUMPRD_TMPDIR="$(mktemp -d -t mkdumprd.XXXXXX)" [ -d "$MKDUMPRD_TMPDIR" ] || perror_exit "dracut: mktemp -p -d -t dracut.XXXXXX failed." @@ -441,4 +439,13 @@ elif ! is_fadump_capable && \ add_mount "$status_target" fi +# Use kdump managed dracut profile. +[[ $kdump_dracut_confdir ]] || kdump_dracut_confdir=/lib/kdump/dracut.conf.d +if [[ "$(dracut --help)" == *--add-confdir* ]] && [[ -d "$kdump_dracut_confdir" ]]; then + dracut_args+=("--add-confdir" "$kdump_dracut_confdir") +else + dracut_args+=(--add kdumpbase) + dracut_args+=(--omit "rdma plymouth resume ifcfg earlykdump") +fi + dracut "${dracut_args[@]}" "$@"