From ea3f9c00cf824af6526ef2cfb379755007135209 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Tue, 28 Jul 2026 05:56:11 +0000 Subject: [PATCH] [FIX] script qemu: Arch networking (network-config key = eth0) Arch VMs booted (after the Secure Boot fix) but eth0 stayed DOWN and cloud-init never finished -> no IP, no SSH. Cause found in the guest: cloud-init's Arch renderer writes the systemd-networkd [Match] Name from the ethernet KEY of the v2 config (ignoring "match:"), so our key "primary" produced "Name=primary" which matches no interface (Arch's NIC is eth0). Rename the key to "eth0": Arch now renders "Name=eth0" and DHCPs; Debian/Fedora/Ubuntu still use "match: name: e*" (verified Debian redeploy: enp1s0 UP with an IP), so no regression. Arch is now fully working end to end: boot, DHCP IP, SSH by key, user erplibre in sudo, passwordless sudo, console login erplibre/erplibre. Co-Authored-By: Claude Opus 4.8 (1M context) --- script/qemu/deploy_qemu.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/script/qemu/deploy_qemu.py b/script/qemu/deploy_qemu.py index 19c15b6..5136980 100755 --- a/script/qemu/deploy_qemu.py +++ b/script/qemu/deploy_qemu.py @@ -823,10 +823,13 @@ def build_cloud_config( # network-config (cloud-init v2) : DHCP sur toute interface « e* ». Les images # Debian genericcloud ne configurent pas toujours le réseau sans ça (le NIC # reste down -> pas d'IP), contrairement à Ubuntu. Inoffensif pour Ubuntu. +# La clé est « eth0 » car le renderer cloud-init d'Arch utilise la CLÉ comme +# nom d'interface (en ignorant « match ») et l'image Arch nomme son NIC eth0 ; +# Debian/Fedora/Ubuntu utilisent bien « match: name: e* » (leur en*). NETWORK_CONFIG = ( "version: 2\n" "ethernets:\n" - " primary:\n" + " eth0:\n" " match:\n" ' name: "e*"\n' " dhcp4: true\n"