qemu-ga: skip starting on bare metal device

The same firmware image may be deployed on either bare metal device or
virtualized platforms (e.g., Proxmox VE).

On bare metal device, `qemu-ga` may still be started even though no
virtio-serial channel is available, resulting in repeated attempts to
access /dev/virtio-ports/org.qemu.guest_agent.0.

This causes continuous service respawning by procd and unnecessary log
spam.

This commit adds a pre-check for /dev/virtio-ports to avoid starting
`qemu-ga` when virtio-serial support is not present.

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
This commit is contained in:
Andy Chiang
2026-05-18 23:56:53 +07:00
committed by Hannu Nyman
parent 29a46353fc
commit e161cf1dde
2 changed files with 5 additions and 1 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=qemu PKG_NAME:=qemu
PKG_VERSION:=10.1.3 PKG_VERSION:=10.1.3
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://download.qemu.org/ PKG_SOURCE_URL:=https://download.qemu.org/
PKG_HASH:=fbaa7a0d7a9a1deb5695b125916746ec28fe0de6275d4454f3e3bbaf8b339b53 PKG_HASH:=fbaa7a0d7a9a1deb5695b125916746ec28fe0de6275d4454f3e3bbaf8b339b53
+4
View File
@@ -7,6 +7,10 @@ USE_PROCD=1
BIN=/usr/bin/qemu-ga BIN=/usr/bin/qemu-ga
start_service() { start_service() {
if [ ! -d /dev/virtio-ports ];then
logger -t qemu-ga -p daemon.notice "/dev/virtio-ports not found. Skipping qemu-ga (this is normal on bare metal device)."
return 0
fi
procd_open_instance procd_open_instance
procd_set_param command $BIN procd_set_param command $BIN
procd_set_param respawn procd_set_param respawn