diff options
Diffstat (limited to 'data/NetworkManager-config-initrd.service.in')
| -rw-r--r-- | data/NetworkManager-config-initrd.service.in | 27 |
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 |