diff --git a/99-kdump.conf b/99-kdump.conf new file mode 100644 index 00000000..4d0c49fd --- /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..cfa2e786 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,18 @@ elif ! is_fadump_capable && \ add_mount "$status_target" fi +# Use kdump managed dracut profile. +_dracut_add_confdir_option="--confdir" +if dracut --help | grep -q "add-confdir" ; then + _dracut_add_confdir_option="--add-confdir" +fi + +[[ $kdumpdracutconfdir ]] || kdumpdracutconfdir=/lib/kdump/dracut.conf.d +if [ -d "$kdumpdracutconfdir" ]; then + dracut_args+=("$_dracut_add_confdir_option" "$kdumpdracutconfdir") +else + dracut_args+=(--add kdumpbase) + dracut_args+=(--omit "rdma plymouth resume ifcfg earlykdump") +fi + dracut "${dracut_args[@]}" "$@"