From c44cfb1ab432ca26cd6498057f45d9d669418d8f Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Wed, 28 Jan 2026 16:13:44 +0100 Subject: [PATCH 1/3] afterburn: sync network kars with supported provider There is now a support for ProxmoxVE and Kubevirt: https://github.com/coreos/afterburn/blob/8f6d5877c96b4d974f18a4782e6e275efdbd94d6/src/initrd/mod.rs#L20-L24 Signed-off-by: Mathieu Tortuyaux --- dracut/50flatcar-network/afterburn-network-kargs.service | 5 +++++ 1 file changed, 5 insertions(+) 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 From 7a0bf5696d5e701c995690a438af3a9712a15f5e Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Fri, 26 Jun 2026 11:32:08 +0200 Subject: [PATCH 2/3] parse-ip: read 'nameserver' from command line Afterburn ProxmoxVE provider injects the DNS/nameserver inside the 'nameserver=' command line parameter. Let's read it to later inject it to systemd network file. Signed-off-by: Mathieu Tortuyaux --- dracut/50flatcar-network/parse-ip-for-networkd.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dracut/50flatcar-network/parse-ip-for-networkd.sh b/dracut/50flatcar-network/parse-ip-for-networkd.sh index 6bb015e..4c144e6 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 @@ -128,6 +130,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 From 38667257490d41f8cddcf97f88edd7952beabfa1 Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Tue, 30 Jun 2026 15:25:16 +0200 Subject: [PATCH 3/3] parse-ip: it does not make any sense to configure 'loopback' Signed-off-by: Mathieu Tortuyaux --- dracut/50flatcar-network/parse-ip-for-networkd.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dracut/50flatcar-network/parse-ip-for-networkd.sh b/dracut/50flatcar-network/parse-ip-for-networkd.sh index 4c144e6..4b0e616 100755 --- a/dracut/50flatcar-network/parse-ip-for-networkd.sh +++ b/dracut/50flatcar-network/parse-ip-for-networkd.sh @@ -121,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