[QEMU]调试/专家选项(1)

-compat [deprecated-input=@var{input-policy}][,deprecated-output=@var{output-policy}]
设置用于处理已弃用的管理接口的策略(实验性):
限制:仅涵盖 QMP 的语法方面。
deprecated-input=accept
(默认值)接受已弃用的命令和参数
deprecated-input=reject
拒绝已弃用的命令和参数
deprecated-input=crash
已弃用的命令和参数崩溃
deprecated-output=accept
(默认值)发出已弃用的命令结果和事件
deprecated-output=hide
禁止显示已弃用的命令结果和事件
-compat [unstable-input=@var{input-policy}][,unstable-output=@var{output-policy}]
设置处理不稳定管理接口的策略(实验性):
限制:仅涵盖 QMP 的语法方面。
unstable-input=accept
(默认值)接受不稳定的命令和参数
unstable-input=reject
拒绝不稳定的命令和参数
unstable-input=crash
不稳定的命令和参数崩溃
unstable-output=accept
(默认值)发出不稳定的命令结果和事件
unstable-output=hide
抑制不稳定的命令结果和事件
-fw_cfg [name=]name,file=file
添加带有文件文件中内容的命名fw_cfg条目。
-fw_cfg [name=]name,string=str
添加命名fw_cfg条目,其中包含字符串 str 中的内容。
str 内容的终止 NUL 字符将不作为fw_cfg项数据的一部分包括在内。若要插入包含嵌入 NUL 字符的内容,必须使用 file 参数。
fw_cfg条目由 QEMU 传递给来宾。
例:
-fw_cfg name=opt/com.mycompany/blob,file=./my_blob.bin
创建一个名为 opt/com.mycompany/blob 的fw_cfg条目,其中包含来自 ./my_blob.bin 的内容。
-serial dev
重定向虚拟串口至主机字符设备开发。默认设备处于图形模式和非图形模式。
vc
stdio
此选项可以多次用于模拟最多 4 个串行端口。
用于禁用所有串行端口。
-serial none
可用的字符设备有:
Example to send tcp console to 192.168.0.2 port 4444
-串行 tcp:192.168.0.2:4444
Example to listen and wait on port 4444 for connection
-串行 tcp::4444,服务器 = 打开
Example to not wait and listen on ip 192.168.0.100 port 4444
-串行 tcp:192.168.0.100:4444,服务器=开,等待=关
QEMU Options:
-串行 udp::4555@:4556
netcat options:
-u -P 4555 -L 0.0.0.0:4556 -t -p 5555 -I -T
telnet options:
本地主机 5555
vc[:WxH]
虚拟控制台。或者,宽度和高度可以以像素为单位,
vc:800x600
也可以以字符形式指定宽度或高度:
vc:80Cx24C
pty
[仅限 Linux]伪 TTY(自动分配新的 PTY)
none
未分配任何设备。
null
空隙装置
chardev:id
使用通过该选项定义的命名字符设备。
-chardev
/dev/XXX
[仅限 Linux]使用主机 tty,例如 .主机串口参数根据仿真参数进行设置。
/dev/ttyS0
/dev/parportN
[仅限 Linux,仅限并行端口]使用主机并行端口 N。目前可以使用 SPP 和 EPP 并行端口功能。
file:filename
将输出写入文件名。无法读取任何字符。
stdio
[仅限 Unix] 标准输入/输出
pipe:filename
名称管道文件名
COMn
[仅限窗户]使用主机串口 n
udp:[remote_host]:remote_port[@[src_ip]:src_port]
这将实现 UDP 网络控制台。如果未指定remote_host或src_ip,则默认为 。不使用指定src_port会自动选择随机端口。
0.0.0.0
如果您只想要一个简单的只读控制台,则可以使用 或 ,方法是使用: 和 nc 作为: 启动 QEMU。每当 QEMU 向该端口写入内容时,它都会出现在 netconsole 会话中。
netcat
nc
-serial udp::4555
nc -u -l -p 4555
如果您计划通过 netconsole 将字符发送回去,或者您想多次停止和启动 QEMU,则应让 QEMU 每次都使用相同的源端口,方法是使用类似于 QEMU 的内容。另一种方法是使用 netcat 的修补版本,它可以侦听 TCP 端口并通过 udp 发送和接收字符。如果您有一个修补的 netcat 版本,可以激活 telnet 远程回显和单字符传输,则可以使用以下选项设置 netcat 重定向器,以允许端口 5555 上的 telnet 访问 QEMU 端口。
-serial udp::4555@:4556
tcp:[host]:port[,server=on|off][,wait=on|off][,nodelay=on|off][,reconnect=seconds]
TCP 网络控制台有两种操作模式。它可以将串行 I/O 发送到某个位置,也可以等待来自某个位置的连接。默认情况下,TCP 网络控制台发送到端口上的主机。如果使用选项,QEMU 将等待客户端套接字应用程序连接到端口,然后再继续,除非指定了该选项。该选项禁用 Nagle 缓冲算法。该选项仅在设置后才适用,如果连接断开,它将尝试以给定的时间间隔重新连接。如果省略 host,则假定为 0.0.0.0。一次只接受一个 TCP 连接。您可以使用 连接到相应的字符设备。
server=on
wait=on|off
nodelay=on|off
reconnect=on
server=no
telnet=on
telnet:host:port[,server=on|off][,wait=on|off][,nodelay=on|off]
使用 telnet 协议代替原始 tcp 套接字。这些选项的工作方式与指定 相同。不同之处在于,该端口的作用类似于使用 telnet 选项协商的 telnet 服务器或客户端。如果您使用支持发送中断序列的 telnet,这也将允许您发送MAGIC_SYSRQ序列。通常在unix telnet中,您使用Control-]执行此操作,然后键入“send break”,然后按Enter键。
-serial tcp
websocket:host:port,server=on[,wait=on|off][,nodelay=on|off]
使用WebSocket协议代替原始tcp套接字。该端口充当 WebSocket 服务器。不支持客户端模式。
unix:path[,server=on|off][,wait=on|off][,reconnect=seconds]
使用 unix 域套接字而不是 tcp 套接字。该选项的工作方式与您指定的选项相同,只是 unix 域套接字路径用于连接。
-serial tcp
mon:dev_string
这是一个特殊选项,允许将监视器多路复用到另一个串行端口。使用 Control-a 键序列访问监视器,然后按 c.dev_string应该是上面指定的任何一个串行设备。将监视器多路复用到侦听端口 4444 的 telnet 服务器上的示例如下:
-serial mon:telnet::4444,server=on,wait=off
当监视器以这种方式多路复用到 stdio 时,Ctrl+C 将不再终止 QEMU,而是传递给来宾。
braille
盲文设备。这将使用 BrlAPI 在真实或假设备上显示盲文输出。
msmouse
三键串口鼠标。将客户机配置为使用微软协议。