|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# called by dracut
|
|
|
|
check() {
|
|
|
|
[[ $mount_needs ]] && return 1
|
|
|
|
|
|
|
|
if ! dracut_module_included "systemd"; then
|
|
|
|
derror "systemd-networkd needs systemd in the initramfs"
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
return 255
|
|
|
|
}
|
|
|
|
|
|
|
|
# called by dracut
|
|
|
|
depends() {
|
|
|
|
echo "systemd kernel-network-modules"
|
|
|
|
}
|
|
|
|
|
|
|
|
installkernel() {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
# called by dracut
|
|
|
|
install() {
|
|
|
|
inst_multiple -o \
|
|
|
|
$systemdutildir/systemd-networkd \
|
|
|
|
$systemdutildir/systemd-networkd-wait-online \
|
|
|
|
$systemdsystemunitdir/systemd-networkd-wait-online.service \
|
|
|
|
$systemdsystemunitdir/systemd-networkd.service \
|
|
|
|
$systemdsystemunitdir/systemd-networkd.socket \
|
|
|
|
$systemdutildir/network/99-default.link \
|
|
|
|
networkctl ip
|
|
|
|
|
|
|
|
#hostnamectl timedatectl
|
|
|
|
# $systemdutildir/systemd-timesyncd \
|
|
|
|
# $systemdutildir/systemd-timedated \
|
|
|
|
# $systemdutildir/systemd-hostnamed \
|
|
|
|
# $systemdutildir/systemd-resolvd \
|
|
|
|
# $systemdutildir/systemd-resolve-host \
|
|
|
|
# $systemdsystemunitdir/systemd-resolved.service \
|
|
|
|
# $systemdsystemunitdir/systemd-hostnamed.service \
|
|
|
|
# $systemdsystemunitdir/systemd-timesyncd.service \
|
|
|
|
# $systemdsystemunitdir/systemd-timedated.service \
|
|
|
|
# $systemdsystemunitdir/time-sync.target \
|
|
|
|
# /etc/systemd/resolved.conf \
|
|
|
|
|
|
|
|
|
|
|
|
# inst_dir /var/lib/systemd/clock
|
|
|
|
|
|
|
|
grep '^systemd-network:' /etc/passwd 2>/dev/null >> "$initdir/etc/passwd"
|
|
|
|
grep '^systemd-network:' /etc/group >> "$initdir/etc/group"
|
|
|
|
# grep '^systemd-timesync:' /etc/passwd 2>/dev/null >> "$initdir/etc/passwd"
|
|
|
|
# grep '^systemd-timesync:' /etc/group >> "$initdir/etc/group"
|
|
|
|
|
|
|
|
_arch=$(uname -m)
|
|
|
|
inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
|
|
|
|
{"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*" \
|
|
|
|
{"tls/$_arch/",tls/,"$_arch/",}"libnss_myhostname.so.*" \
|
|
|
|
{"tls/$_arch/",tls/,"$_arch/",}"libnss_resolve.so.*"
|
|
|
|
|
|
|
|
for i in \
|
|
|
|
systemd-networkd-wait-online.service \
|
|
|
|
systemd-networkd.service \
|
|
|
|
systemd-networkd.socket
|
|
|
|
# systemd-timesyncd.service
|
|
|
|
do
|
|
|
|
systemctl --root "$initdir" enable "$i"
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|