Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=2151500
Currently, kdump initrd fails to be built when dumping vmcore to
localhost via ssh or nfs,
kdumpctl[3331]: Cannot get driver information: Operation not supported
kdumpctl[1991]: dracut: Failed to get the driver of lo
dracut[2020]: Failed to get the driver of lo
kdumpctl[1775]: kdump: mkdumprd: failed to make kdump initrd
kdumpctl[1775]: kdump: Starting kdump: [FAILED]
systemd[1]: kdump.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: kdump.service: Failed with result 'exit-code'.
systemd[1]: Failed to start Crash recovery kernel arming.
systemd[1]: kdump.service: Consumed 1.710s CPU time.
This is because the loopback device is used for transferring vmcore and
ethtool can't get the driver of a loopback device. In fact, once
COFNIG_NET is enabled, looback device is enabled and there is no driver
for a loopback device. So skip installing driver for loopback device.
Fixes: a65dde2d ("Reduce kdump memory consumption by only installing needed NIC
drivers")
Reported-by: Martin Pitt <mpitt(a)redhat.com>
Reported-by: Rich Megginson <rmeggins(a)redhat.com>
Signed-off-by: Coiby Xu <coxu(a)redhat.com>
---
dracut-module-setup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index 13e99015..f82349cb 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -387,6 +387,7 @@ kdump_install_nic_driver() {
_drivers=()
for _netif in $1; do
+ ! ip addr show "$_netif" | grep "link/loopback" || continue
_driver=$(_get_nic_driver "$_netif")
if [[ -z $_driver ]]; then
derror "Failed to get the driver of $_netif"
@@ -404,6 +405,7 @@ kdump_install_nic_driver() {
_drivers+=("$_driver")
done
+ [[ -n ${_drivers[*]} ]] || return
instmods "${_drivers[@]}"
}
--
2.38.1