On 01/29/2019 01:33 PM, Hari Bathini wrote:
When a network-based dump target is configured, the interface name
is
prefixed with 'kdump-'. While this has no consequence for production
kernel when kdump is configured, the network interface name is changed
for production kernel as well when fadump is configured. Avoid that
and ensure network interface is renamed only while capturing vmcore.
Signed-off-by: Hari Bathini <hbathini(a)linux.ibm.com>
---
Changes in V2:
* kdump cmdline hook priority adjusted
dracut-kdump-boot.sh | 12 ++++++++++++
dracut-module-setup.sh | 1 +
kexec-tools.spec | 3 +++
3 files changed, 16 insertions(+)
create mode 100644 dracut-kdump-boot.sh
diff --git a/dracut-kdump-boot.sh b/dracut-kdump-boot.sh
new file mode 100644
index 0000000..ba205dc
--- /dev/null
+++ b/dracut-kdump-boot.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# An Initrd with dump capturing support can boot a production kernel
+# as well (FADump). In such scenario, avoid enforcing such parameters
+# in production kernel that make sense only while capturing dump.
+[ ! -f /etc/fadump.initramfs ] && return
+
+if [ ! -f /proc/device-tree/rtas/ibm,kernel-dump ]; then
+ rm -f /etc/cmdline.d/40kdump-ip.conf
+ rm -f /etc/cmdline.d/60kdumpnic.conf
+ rm -f /etc/cmdline.d/70kdump-bootdev.conf
+fi
Do we have separate initramfs for kdump and fadump? If yes, can we avoid
to install the above files in fadump's initramfs?
Thanks,
Pingfan
> diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
> index 003845c..c2e92da 100755
> --- a/dracut-module-setup.sh
> +++ b/dracut-module-setup.sh
> @@ -800,6 +800,7 @@ install() {
> cp "$moddir/kdump-emergency.target"
"$initdir/$systemdsystemunitdir/emergency.target"
> # Also redirect dracut-emergency to kdump error handler
> ln_r "$systemdsystemunitdir/emergency.service"
"$systemdsystemunitdir/dracut-emergency.service"
> + inst_hook cmdline 30 "$moddir/kdump-boot.sh"
>
> # Check for all the devices and if any device is iscsi, bring up iscsi
> # target. Ideally all this should be pushed into dracut iscsi module
> diff --git a/kexec-tools.spec b/kexec-tools.spec
> index d5dcced..9ebb5c5 100644
> --- a/kexec-tools.spec
> +++ b/kexec-tools.spec
> @@ -44,6 +44,7 @@ Source106: dracut-kdump-capture.service
> Source107: dracut-kdump-emergency.target
> Source108: dracut-early-kdump.sh
> Source109: dracut-early-kdump-module-setup.sh
> +Source110: dracut-kdump-boot.sh
>
> Requires(post): systemd-units
> Requires(preun): systemd-units
> @@ -204,6 +205,8 @@ cp %{SOURCE108}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlyk
> cp %{SOURCE109}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_early_kdump_prefix
%{SOURCE109}}
> chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_prefix
%{SOURCE108}}
> chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_early_kdump_prefix
%{SOURCE109}}
> +cp %{SOURCE110}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE110}}
> +chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE110}}
>
>
> %define dracutlibdir %{_prefix}/lib/dracut
> _______________________________________________
> kexec mailing list -- kexec(a)lists.fedoraproject.org
> To unsubscribe send an email to kexec-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct:
https://getfedora.org/code-of-conduct.html
> List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org
>