]> git.ipfire.org Git - thirdparty/dracut.git/blob - modules.d/01systemd-networkd/module-setup.sh
fix(systemd-networkd): typo in systemd-networkd.socket local conf path
[thirdparty/dracut.git] / modules.d / 01systemd-networkd / module-setup.sh
1 #!/bin/bash
2 # This file is part of dracut.
3 # SPDX-License-Identifier: GPL-2.0-or-later
4
5 # Prerequisite check(s) for module.
6 check() {
7 [[ $mount_needs ]] && return 1
8
9 # If the binary(s) requirements are not fulfilled the module can't be installed
10 require_binaries ip networkctl \
11 "$systemdutildir"/systemd-networkd \
12 "$systemdutildir"/systemd-network-generator \
13 "$systemdutildir"/systemd-networkd-wait-online \
14 || return 1
15
16 # Return 255 to only include the module, if another module requires it.
17 return 255
18
19 }
20
21 # Module dependency requirements.
22 depends() {
23
24 # This module has external dependency on other module(s).
25 echo dbus kernel-network-modules systemd-sysusers
26 # Return 0 to include the dependent module(s) in the initramfs.
27 return 0
28
29 }
30
31 # Install the required file(s) and directories for the module in the initramfs.
32 install() {
33
34 inst_multiple -o \
35 "$dbussystem"/org.freedesktop.network1.conf \
36 "$dbussystemservices"/org.freedesktop.network1.service \
37 "$systemdutildir"/networkd.conf \
38 "$systemdutildir/networkd.conf.d/*.conf" \
39 "$systemdutildir"/systemd-networkd \
40 "$systemdutildir"/systemd-network-generator \
41 "$systemdutildir"/systemd-networkd-wait-online \
42 "$systemdutildir"/network/80-container-host0.network \
43 "$systemdutildir"/network/80-container-ve.network \
44 "$systemdutildir"/network/80-container-vz.network \
45 "$systemdutildir"/network/80-vm-vt.network \
46 "$systemdutildir"/network/80-wifi-adhoc.network \
47 "$systemdutildir"/network/99-default.link \
48 "$systemdsystemunitdir"/systemd-networkd.service \
49 "$systemdsystemunitdir"/systemd-networkd.socket \
50 "$systemdsystemunitdir"/systemd-network-generator.service \
51 "$systemdsystemunitdir"/systemd-networkd-wait-online.service \
52 "$systemdsystemunitdir"/systemd-network-generator.service \
53 "$sysusers"/systemd-network.conf \
54 networkctl ip
55
56 # Enable systemd type units
57 for i in \
58 systemd-networkd.service \
59 systemd-networkd.socket \
60 systemd-network-generator.service \
61 systemd-networkd-wait-online.service; do
62 $SYSTEMCTL -q --root "$initdir" enable "$i"
63 done
64
65 # Install the hosts local user configurations if enabled.
66 if [[ $hostonly ]]; then
67 inst_multiple -H -o \
68 "$systemdutilconfdir"/networkd.conf \
69 "$systemdutilconfdir/networkd.conf.d/*.conf" \
70 "$systemdutilconfdir/network/*" \
71 "$systemdsystemconfdir"/systemd-networkd.service \
72 "$systemdsystemconfdir/systemd-networkd.service/*.conf" \
73 "$systemdsystemconfdir"/systemd-networkd.socket \
74 "$systemdsystemconfdir/systemd-networkd.socket/*.conf" \
75 "$systemdsystemconfdir"/systemd-network-generator.service \
76 "$systemdsystemconfdir/systemd-network-generator.service/*.conf" \
77 "$systemdsystemconfdir"/systemd-networkd-wait-online.service \
78 "$systemdsystemconfdir/systemd-networkd-wait-online.service/*.conf" \
79 "$sysusersconfdir"/systemd-network.conf
80 fi
81 }