From 73bfdd288b2e7cfa39871d263135ac0695bac35c Mon Sep 17 00:00:00 2001 From: Dan Kluser Date: Sun, 10 May 2026 08:57:43 +0200 Subject: [PATCH] fix for arch under qemu --- distros/arch/image.yaml | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/distros/arch/image.yaml b/distros/arch/image.yaml index 1add40b..6970a7f 100644 --- a/distros/arch/image.yaml +++ b/distros/arch/image.yaml @@ -135,15 +135,25 @@ actions: action: |- #!/bin/bash set -eux - fc-cache -f -v + # fc-cache / systemctl can SIGSEGV under QEMU when image plat is linux/amd64 on arm64 hosts. + fc-cache -f 2>/dev/null || true + + symlink_wants() { + local src=$1 + local target=$2 + [ -e "$src" ] || return 0 + mkdir -p "/etc/systemd/system/${target}.wants" + ln -sf "$src" "/etc/systemd/system/${target}.wants/$(basename "$src")" + } - # SSH sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config - systemctl enable sshd - systemctl enable NetworkManager - systemctl enable seatd - systemctl enable pipewire pipewire-pulse wireplumber || true + symlink_wants /usr/lib/systemd/system/sshd.service multi-user.target + symlink_wants /usr/lib/systemd/system/NetworkManager.service multi-user.target + symlink_wants /usr/lib/systemd/system/seatd.service multi-user.target + for s in pipewire pipewire-pulse wireplumber; do + symlink_wants "/usr/lib/systemd/system/${s}.service" default.target || true + done - trigger: post-files action: |-