diff --git a/99-kdump.conf b/99-kdump.conf new file mode 100644 index 0000000..8aa2a4c --- /dev/null +++ b/99-kdump.conf @@ -0,0 +1,3 @@ +dracutmodules='' +add_dracutmodules=' kdumpbase ' +omit_dracutmodules=' plymouth resume ifcfg earlykdump ' diff --git a/kexec-tools.spec b/kexec-tools.spec index a0f4a42..428b145 100644 --- a/kexec-tools.spec +++ b/kexec-tools.spec @@ -46,6 +46,7 @@ Source35: kdump-migrate-action.sh Source36: kdump-restart.sh Source37: 60-fadump.install Source38: supported-kdump-targets.txt +Source39: 99-kdump.conf ####################################### # These are sources for mkdumpramfs @@ -179,7 +180,7 @@ mkdir -p -m755 $RPM_BUILD_ROOT%{_udevrulesdir} mkdir -p $RPM_BUILD_ROOT%{_unitdir} mkdir -p -m755 $RPM_BUILD_ROOT%{_bindir} mkdir -p -m755 $RPM_BUILD_ROOT%{_libdir} -mkdir -p -m755 $RPM_BUILD_ROOT%{_prefix}/lib/kdump +mkdir -p -m755 $RPM_BUILD_ROOT%{_prefix}/lib/kdump/dracut.conf.d mkdir -p -m755 $RPM_BUILD_ROOT%{_sharedstatedir}/kdump install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/kdumpctl @@ -201,6 +202,7 @@ install -m 644 %{SOURCE25} $RPM_BUILD_ROOT%{_mandir}/man8/kdumpctl.8 install -m 755 %{SOURCE20} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-lib.sh install -m 755 %{SOURCE23} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-lib-initramfs.sh install -m 755 %{SOURCE31} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-logger.sh +install -m 644 %{SOURCE39} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/dracut.conf.d/99-kdump.conf %ifarch ppc64 ppc64le install -m 755 %{SOURCE32} $RPM_BUILD_ROOT/usr/sbin/mkfadumprd install -m 755 %{SOURCE35} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-migrate-action.sh diff --git a/mkdumprd b/mkdumprd index 0126d60..92aa4b6 100644 --- a/mkdumprd +++ b/mkdumprd @@ -27,7 +27,7 @@ SAVE_PATH=$(get_save_path) OVERRIDE_RESETTABLE=0 extra_modules="" -dracut_args=(--add kdumpbase --quiet --hostonly --hostonly-cmdline --hostonly-i18n --hostonly-mode strict --hostonly-nics '' -o "plymouth resume ifcfg earlykdump") +dracut_args=(--quiet --hostonly --hostonly-cmdline --hostonly-i18n --hostonly-mode strict --hostonly-nics '') MKDUMPRD_TMPDIR="$(mktemp -d -t mkdumprd.XXXXXX)" [ -d "$MKDUMPRD_TMPDIR" ] || perror_exit "dracut: mktemp -p -d -t dracut.XXXXXX failed." @@ -486,6 +486,15 @@ 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 "plymouth resume ifcfg earlykdump") +fi + dracut "${dracut_args[@]}" "$@" _rc=$?