]>
Commit | Line | Data |
---|---|---|
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 |
6 | check() { |
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 | 22 | depends() { |
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 | 32 | install() { |
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 | } |