]> git.ipfire.org Git - thirdparty/dracut.git/blame - modules.d/01systemd-networkd/module-setup.sh
fix(network-manager): correct wrong local network configuration path
[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 \
ea779750
JG
35 "$dbussystem"/org.freedesktop.network1.conf \
36 "$dbussystemservices"/org.freedesktop.network1.service \
37 "$systemdutildir"/networkd.conf \
38 "$systemdutildir/networkd.conf.d/*.conf" \
231917e9 39 "$systemdutildir"/systemd-networkd \
ea779750 40 "$systemdutildir"/systemd-network-generator \
231917e9 41 "$systemdutildir"/systemd-networkd-wait-online \
ea779750
JG
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 \
231917e9
HH
48 "$systemdsystemunitdir"/systemd-networkd.service \
49 "$systemdsystemunitdir"/systemd-networkd.socket \
ea779750
JG
50 "$systemdsystemunitdir"/systemd-network-generator.service \
51 "$systemdsystemunitdir"/systemd-networkd-wait-online.service \
52 "$systemdsystemunitdir"/systemd-network-generator.service \
fec93bb2 53 "$sysusers"/systemd-network.conf \
cbb4b50e
HH
54 networkctl ip
55
ea779750 56 # Enable systemd type units
cbb4b50e 57 for i in \
70b19acf 58 systemd-networkd.service \
ea779750
JG
59 systemd-networkd.socket \
60 systemd-network-generator.service \
61 systemd-networkd-wait-online.service; do
18d36fab 62 $SYSTEMCTL -q --root "$initdir" enable "$i"
cbb4b50e 63 done
ea779750
JG
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" \
d4732be8
AAF
73 "$systemdsystemconfdir"/systemd-networkd.socket \
74 "$systemdsystemconfdir/systemd-networkd.socket/*.conf" \
ea779750
JG
75 "$systemdsystemconfdir"/systemd-network-generator.service \
76 "$systemdsystemconfdir/systemd-network-generator.service/*.conf" \
77 "$systemdsystemconfdir"/systemd-networkd-wait-online.service \
fec93bb2
CH
78 "$systemdsystemconfdir/systemd-networkd-wait-online.service/*.conf" \
79 "$sysusersconfdir"/systemd-network.conf
ea779750 80 fi
cbb4b50e 81}