From ad27830889a45506090f0674a0ccf7ce89fc8a98 Mon Sep 17 00:00:00 2001 From: qbit- Date: Sat, 20 Sep 2025 01:02:08 +0300 Subject: [PATCH] This turns off default interactive mode of qemu in macos, which causes linsk to fail --- qemucli/args.go | 29 +++++++++++++++-------------- vm/cfg.go | 3 ++- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/qemucli/args.go b/qemucli/args.go index 4280bb9..1ab0882 100644 --- a/qemucli/args.go +++ b/qemucli/args.go @@ -34,19 +34,20 @@ const ( ) var safeArgs = map[string]ArgAcceptedValue{ - "accel": ArgAcceptedValueKeyValue, - "boot": ArgAcceptedValueString, - "m": ArgAcceptedValueUint, - "smp": ArgAcceptedValueUint, - "device": ArgAcceptedValueKeyValue, - "netdev": ArgAcceptedValueKeyValue, - "serial": ArgAcceptedValueString, - "cdrom": ArgAcceptedValueString, - "machine": ArgAcceptedValueKeyValue, - "cpu": ArgAcceptedValueString, - "display": ArgAcceptedValueString, - "drive": ArgAcceptedValueKeyValue, - "bios": ArgAcceptedValueString, + "accel": ArgAcceptedValueKeyValue, + "boot": ArgAcceptedValueString, + "m": ArgAcceptedValueUint, + "smp": ArgAcceptedValueUint, + "device": ArgAcceptedValueKeyValue, + "netdev": ArgAcceptedValueKeyValue, + "serial": ArgAcceptedValueString, + "cdrom": ArgAcceptedValueString, + "machine": ArgAcceptedValueKeyValue, + "cpu": ArgAcceptedValueString, + "display": ArgAcceptedValueString, + "drive": ArgAcceptedValueKeyValue, + "bios": ArgAcceptedValueString, + "nographic": ArgAcceptedValueNone, } type Arg interface { @@ -89,7 +90,7 @@ func EncodeArg(a Arg) (string, *string, error) { return "", nil, fmt.Errorf("arg returned a value while declaring no value (type %v)", reflect.TypeOf(a)) } - return argKey, nil, nil + return "-" + argKey, nil, nil } argValueStr := a.StringValue() diff --git a/vm/cfg.go b/vm/cfg.go index 2910eb2..e27277f 100644 --- a/vm/cfg.go +++ b/vm/cfg.go @@ -60,7 +60,8 @@ func configureBaseVMCmd(logger *slog.Logger, cfg Config) (string, []qemucli.Arg, baseCmd := "qemu-system" args := []qemucli.Arg{ - qemucli.MustNewStringArg("serial", "stdio"), + qemucli.MustNewFlagArg("nographic"), + qemucli.MustNewStringArg("serial", "mon:stdio"), qemucli.MustNewUintArg("m", cfg.MemoryAlloc), qemucli.MustNewUintArg("smp", runtime.NumCPU()), }