]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
35network-legacy: only skip waiting for interfaces if netroot is set
authorMartin Wilck <mwilck@suse.com>
Fri, 27 Sep 2019 11:26:10 +0000 (13:26 +0200)
committerHarald Hoyer <harald@hoyer.xyz>
Fri, 25 Oct 2019 07:18:12 +0000 (09:18 +0200)
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

modules.d/35network-legacy/net-genrules.sh

index 0d4ef27bc29b60f6f2bbc602aac18646a7073b38..d531bb564318b27c0d77610c0e4546f4d2603cb3 100755 (executable)
@@ -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