diff --git a/dracut/50flatcar-network/afterburn-network-kargs.service b/dracut/50flatcar-network/afterburn-network-kargs.service index a382e59..f01fd5b 100644 --- a/dracut/50flatcar-network/afterburn-network-kargs.service +++ b/dracut/50flatcar-network/afterburn-network-kargs.service @@ -10,6 +10,11 @@ PartOf=systemd-networkd.service # For extra safety ConditionKernelCommandLine=|coreos.oem.id=vmware ConditionKernelCommandLine=|flatcar.oem.id=vmware +ConditionKernelCommandLine=|coreos.oem.id=proxmoxve +ConditionKernelCommandLine=|flatcar.oem.id=proxmoxve +ConditionKernelCommandLine=|coreos.oem.id=kubevirt +ConditionKernelCommandLine=|flatcar.oem.id=kubevirt + OnFailure=emergency.target OnFailureJobMode=replace-irreversibly diff --git a/dracut/50flatcar-network/parse-ip-for-networkd.sh b/dracut/50flatcar-network/parse-ip-for-networkd.sh index 6bb015e..4b0e616 100755 --- a/dracut/50flatcar-network/parse-ip-for-networkd.sh +++ b/dracut/50flatcar-network/parse-ip-for-networkd.sh @@ -68,6 +68,8 @@ function mask2cidr() { echo $bits } +nameserver=$(getarg nameserver=) + # Check ip= lines # XXX Would be nice if we could errorcheck ip addresses here as well for p in $(getargs ip=); do @@ -119,6 +121,7 @@ for p in $(getargs ip=); do mkdir -p /etc/systemd/network echo '[Match]' > $_net_file _dev=${dev:-"*"}; echo "Name=$_dev" >> $_net_file + echo "Type=!loopback" >> $_net_file echo '[Link]' >> $_net_file [ -n "$macaddr" ] && echo "MACAddress=$macaddr" >> $_net_file [ -n "$mtu" ] && echo "MTUBytes=$mtu" >> $_net_file @@ -128,6 +131,7 @@ for p in $(getargs ip=); do [ -n "$gw" ] && echo "Gateway=$gw" >> $_net_file [ -n "$dns1" ] && echo "DNS=$dns1" >> $_net_file [ -n "$dns2" ] && echo "DNS=$dns2" >> $_net_file + [ -n "$nameserver" ] && echo "DNS=$nameserver" >> $_net_file echo '[Address]' >> $_net_file [ -n "$ip" ] && echo "Address=$ip/${cidr:-24}" >> $_net_file [ -n "$srv" ] && echo "Peer=$srv" >> $_net_file