From: Dusty Mabe Date: Tue, 13 Apr 2021 15:36:21 +0000 (-0400) Subject: fix(network-manager): only run NetworkManager if rd.neednet=1 X-Git-Tag: 054~121 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac0e8f7dcc81432311906c3fca0d4211f6a2f68c;p=thirdparty%2Fdracut.git fix(network-manager): only run NetworkManager if rd.neednet=1 Don't run the new systemd unit (nm-run.service) if rd.neednet=1 isn't set. nm-initrd-generator will generate configuration even without rd.neednet=1 so determining if we should start based on just if connection profiles exist isn't enough. We need some other indicator. In this case we lay down a /run/NetworkManager/initrd/neednet if rd.neednet=1, which is used by nm-run.service to determine the need to run. --- diff --git a/modules.d/35network-manager/nm-lib.sh b/modules.d/35network-manager/nm-lib.sh index c2a8cb834..012cc6285 100644 --- a/modules.d/35network-manager/nm-lib.sh +++ b/modules.d/35network-manager/nm-lib.sh @@ -14,6 +14,7 @@ nm_generate_connections() { /etc/sysconfig/network-scripts/ifcfg-*; do [ -f "$i" ] || continue echo '[ -f /tmp/nm.done ]' > "$hookdir"/initqueue/finished/nm.sh + : > /run/NetworkManager/initrd/neednet # activate nm-run.service break done fi diff --git a/modules.d/35network-manager/nm-run.service b/modules.d/35network-manager/nm-run.service index b667ce379..f041ade89 100644 --- a/modules.d/35network-manager/nm-run.service +++ b/modules.d/35network-manager/nm-run.service @@ -15,6 +15,9 @@ Before=network.target network-online.target #run before we try to mount anything from the dracut hooks Before=dracut-initqueue.service +#do not run if networking not needed +ConditionPathExists=/run/NetworkManager/initrd/neednet + #do not run, if there is no configuration ConditionPathExistsGlob=|/usr/lib/NetworkManager/system-connections/* ConditionPathExistsGlob=|/run/NetworkManager/system-connections/*