From 53bde4f9f7e7b976affaa2665c1c56bdc166db85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 8 Oct 2024 15:03:39 +0200 Subject: [PATCH] add a flag to start qemu non-interactive --- pkgs/clan-cli/clan_cli/vms/qemu.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/vms/qemu.py b/pkgs/clan-cli/clan_cli/vms/qemu.py index 9cdbb55d9..4f4c83c41 100644 --- a/pkgs/clan-cli/clan_cli/vms/qemu.py +++ b/pkgs/clan-cli/clan_cli/vms/qemu.py @@ -93,6 +93,7 @@ def qemu_command( qmp_socket_file: Path, qga_socket_file: Path, portmap: list[tuple[int, int]] | None = None, + interactive: bool = False, ) -> QemuCommand: if portmap is None: portmap = [] @@ -137,12 +138,20 @@ def qemu_command( "-chardev", f"socket,path={qga_socket_file},server=on,wait=off,id=qga0", "-device", "virtio-serial", "-device", "virtserialport,chardev=qga0,name=org.qemu.guest_agent.0", - - "-serial", "null", - "-chardev", "stdio,mux=on,id=char0,signal=off", - "-mon", "chardev=char0,mode=readline", - "-device", "virtconsole,chardev=char0,nr=0", ] # fmt: on + if interactive: + command.extend([ + "-serial", "null", + "-chardev", "stdio,mux=on,id=char0,signal=off", + "-mon", "chardev=char0,mode=readline", + "-device", "virtconsole,chardev=char0,nr=0", + ]) + else: + command.extend([ + "-serial", "null", + "-chardev", "file,id=char0,path=/dev/stdout", + "-device", "virtconsole,chardev=char0,nr=0", + ]) vsock_cid = None if vm.graphics: