]> git.ipfire.org Git - thirdparty/dracut.git/blame - modules.d/01systemd-networkd/module-setup.sh
fix(systemd-networkd): correct typos in override paths
[thirdparty/dracut.git] / modules.d / 01systemd-networkd / module-setup.sh
CommitLineData
cbb4b50e 1#!/bin/bash
ea779750
JG
2# This file is part of dracut.
3# SPDX-License-Identifier: GPL-2.0-or-later
cbb4b50e 4
ea779750 5# Prerequisite check(s) for module.
cbb4b50e
HH
6check() {
7 [[ $mount_needs ]] && return 1
8
ea779750
JG
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.
cbb4b50e 17 return 255
ea779750 18
cbb4b50e
HH
19}
20
ea779750 21# Module dependency requirements.
cbb4b50e 22depends() {
cbb4b50e 23
ea779750
JG
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.
cbb4b50e 27 return 0
ea779750 28
cbb4b50e
HH
29}
30
ea779750 31# Install the required file(s) and directories for the module in the initramfs.
cbb4b50e 32install() {
ea779750 33
cbb4b50e 34 inst_multiple -o \
71e391eb 35 "$tmpfilesdir"/systemd-network.conf \
ea779750
JG
36 "$dbussystem"/org.freedesktop.network1.conf \
37 "$dbussystemservices"/org.freedesktop.network1.service \
38 "$systemdutildir"/networkd.conf \
39 "$systemdutildir/networkd.conf.d/*.conf" \
231917e9 40 "$systemdutildir"/systemd-networkd \
ea779750 41 "$systemdutildir"/systemd-network-generator \
231917e9 42 "$systemdutildir"/systemd-networkd-wait-online \
71e391eb 43 "$systemdnetwork"/80-6rd-tunnel.network \
cbf7f4bc 44 "$systemdnetwork"/80-container-host0.network \
71e391eb 45 "$systemdnetwork"/80-container-vb.network \
cbf7f4bc
AAF
46 "$systemdnetwork"/80-container-ve.network \
47 "$systemdnetwork"/80-container-vz.network \
48 "$systemdnetwork"/80-vm-vt.network \
49 "$systemdnetwork"/80-wifi-adhoc.network \
50 "$systemdnetwork"/99-default.link \
231917e9
HH
51 "$systemdsystemunitdir"/systemd-networkd.service \
52 "$systemdsystemunitdir"/systemd-networkd.socket \
ea779750
JG
53 "$systemdsystemunitdir"/systemd-network-generator.service \
54 "$systemdsystemunitdir"/systemd-networkd-wait-online.service \
71e391eb 55 "$systemdsystemunitdir"/systemd-networkd-wait-online@.service \
ea779750 56 "$systemdsystemunitdir"/systemd-network-generator.service \
fec93bb2 57 "$sysusers"/systemd-network.conf \
cbb4b50e
HH
58 networkctl ip
59
ea779750 60 # Enable systemd type units
cbb4b50e 61 for i in \
70b19acf 62 systemd-networkd.service \
ea779750
JG
63 systemd-networkd.socket \
64 systemd-network-generator.service \
65 systemd-networkd-wait-online.service; do
18d36fab 66 $SYSTEMCTL -q --root "$initdir" enable "$i"
cbb4b50e 67 done
ea779750
JG
68
69 # Install the hosts local user configurations if enabled.
70 if [[ $hostonly ]]; then
71 inst_multiple -H -o \
72 "$systemdutilconfdir"/networkd.conf \
73 "$systemdutilconfdir/networkd.conf.d/*.conf" \
cbf7f4bc 74 "$systemdnetworkconfdir/*" \
ea779750 75 "$systemdsystemconfdir"/systemd-networkd.service \
f0dc7ec9 76 "$systemdsystemconfdir/systemd-networkd.service.d/*.conf" \
d4732be8 77 "$systemdsystemconfdir"/systemd-networkd.socket \
f0dc7ec9 78 "$systemdsystemconfdir/systemd-networkd.socket.d/*.conf" \
ea779750 79 "$systemdsystemconfdir"/systemd-network-generator.service \
f0dc7ec9 80 "$systemdsystemconfdir/systemd-network-generator.service.d/*.conf" \
ea779750 81 "$systemdsystemconfdir"/systemd-networkd-wait-online.service \
f0dc7ec9 82 "$systemdsystemconfdir/systemd-networkd-wait-online.service.d/*.conf" \
71e391eb
AAF
83 "$systemdsystemconfdir"/systemd-networkd-wait-online@.service \
84 "$systemdsystemconfdir/systemd-networkd-wait-online@.service.d/*.conf" \
fec93bb2 85 "$sysusersconfdir"/systemd-network.conf
ea779750 86 fi
cbb4b50e 87}