From: Martin Wilck Date: Fri, 27 Sep 2019 11:26:10 +0000 (+0200) Subject: 35network-legacy: only skip waiting for interfaces if netroot is set X-Git-Tag: 050~128 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9b9dd9993e645f97c176f1db707d41062135cf8e;p=thirdparty%2Fdracut.git 35network-legacy: only skip waiting for interfaces if netroot is set Commmit 8a33e52e2f94 assumes that dracut's work is done if a root device is found. This holds usually for booting computers, but it may be wrong for other environments. Only short-cut the waiting if $netroot is also set. Fixes: 8a33e52e2f94 ("network: stop waiting for interfaces if root device is present") References: bsc#1152006 --- diff --git a/modules.d/35network-legacy/net-genrules.sh b/modules.d/35network-legacy/net-genrules.sh index 0d4ef27bc..d531bb564 100755 --- a/modules.d/35network-legacy/net-genrules.sh +++ b/modules.d/35network-legacy/net-genrules.sh @@ -96,7 +96,11 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh for iface in $IFACES; do if [ "$bootdev" = "$iface" ] || [ "$NEEDNET" = "1" ]; then - echo "${DRACUT_SYSTEMD+systemctl is-active initrd-root-device.target || }[ -f /tmp/net.${iface}.did-setup ]" >$hookdir/initqueue/finished/wait-$iface.sh + if [ -n "$netroot" ] && [ -n "$DRACUT_SYSTEMD" ]; then + echo "systemctl is-active initrd-root-device.target || [ -f /tmp/net.${iface}.did-setup ]" + else + echo "[ -f /tmp/net.${iface}.did-setup ]" + fi >$hookdir/initqueue/finished/wait-$iface.sh fi done # Default: We don't know the interface to use, handle all