summary refs log tree commit diff
path: root/data/NetworkManager-config-initrd.service.in
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2025-08-01 19:15:13 +0200
committerMichael Biebl <biebl@debian.org>2025-08-01 19:15:13 +0200
commit7e9091a5960f67a84787c03153324915220e4816 (patch)
treedc743de962532932ebc3b4ed3a36ddd093d97d68 /data/NetworkManager-config-initrd.service.in
parent582eb4472a0f3375042afb9026cbeb50e058a27d (diff)
New upstream version 1.54.0 upstream/1.54.0
Diffstat (limited to 'data/NetworkManager-config-initrd.service.in')
-rw-r--r--data/NetworkManager-config-initrd.service.in27
1 files changed, 27 insertions, 0 deletions
diff --git a/data/NetworkManager-config-initrd.service.in b/data/NetworkManager-config-initrd.service.in
new file mode 100644
index 00000000..4baf0f64
--- /dev/null
+++ b/data/NetworkManager-config-initrd.service.in
@@ -0,0 +1,27 @@
+[Unit]
+Description=NetworkManager Configuration (initrd)
+DefaultDependencies=no
+Wants=systemd-journald.socket
+After=systemd-journald.socket
+Before=systemd-udevd.service systemd-udev-trigger.service
+ConditionPathExists=/etc/initrd-release
+
+[Service]
+Type=oneshot
+ExecStartPre=/bin/sh -c "rm -f /run/NetworkManager/system-connections/*"
+ExecStart=/bin/sh -c "@libexecdir@/nm-initrd-generator -- $(cat /proc/cmdline)"
+ExecStartPost=/bin/sh -c ' \
+    for i in /{usr/lib,run,etc}/NetworkManager/system-connections/*; do \
+        [ -f "$i" ] || continue; \
+        mkdir -p /run/NetworkManager/initrd; \
+        : > /run/NetworkManager/initrd/neednet; \
+        break; \
+    done; \
+    if [ -s /run/NetworkManager/initrd/hostname ]; then \
+        cat /run/NetworkManager/initrd/hostname > /proc/sys/kernel/hostname; \
+    fi \
+'
+RemainAfterExit=yes
+
+[Install]
+WantedBy=initrd.target