From ff6b85b4392dc06fba8966a09d7303d436f3cfc5 Mon Sep 17 00:00:00 2001 From: David Young Date: Thu, 5 Nov 2026 07:36:59 -0700 Subject: [PATCH] Leave a plain resolv.conf for NetworkManager in the base image provision.sh deleted the cloud image's link to systemd-resolved's resolv.conf, but systemd's tmpfiles put it back at the next boot. With systemd-resolved off the link led nowhere, NetworkManager won't replace a link it didn't make, and the VM had no DNS, so install.sh couldn't reach archlinux.org. An empty file stops tmpfiles, and NetworkManager fills it. Co-Authored-By: Claude Opus 5.5 --- vm/provision.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vm/provision.sh b/vm/provision.sh index c45c4b6..739802b 100644 --- a/vm/provision.sh +++ b/vm/provision.sh @@ -40,9 +40,11 @@ echo LANG=en_US.UTF-8 > /etc/locale.conf echo "== NetworkManager instead of systemd-networkd" systemctl disable systemd-networkd.service systemd-networkd.socket systemd-resolved.service || true -# NetworkManager writes its own resolv.conf; the cloud image's points at -# systemd-resolved +# The cloud image's resolv.conf links to systemd-resolved's. NetworkManager +# only writes a plain file, and systemd's tmpfiles puts the link back at boot +# if the file is missing, so leave an empty one for NetworkManager to fill. rm -f /etc/resolv.conf +touch /etc/resolv.conf systemctl enable NetworkManager.service gdm.service sshd.service # Arch's cloud image makes boot wait until the clock has synced, and sshd # waits for that. Without systemd-networkd, systemd-timesyncd thinks it's