如何从来宾内部运行QEMU Monitor命令?

时间:2018-08-08 13:16:11

标签: qemu

例如,我正在运行Linux guest虚拟机,并且我想在启动后在自己的init脚本中执行以下操作:

savevm-somehow
run-lengthy-benchmark

我知道如何从主机上使用监视器,但是很难在正确的位置停下来进行savevm:我可以GDB step debug until there然后连接到监视器,但这会烦人。

1 个答案:

答案 0 :(得分:2)

理论上,您可以告诉QEMU将其监视器放在TCP端口上,然后还告诉QEMU的网络将该端口转发给来宾,然后从来宾连接到转发的端口。我会担心这种设置中出现死锁的可能性,

我过去使用的一种方法是使用Expect编写QEMU监视器提示脚本。这里有一个例子: https://translatedcode.wordpress.com/2015/07/06/tricks-for-debugging-qemu-savevm-snapshots/ 它使用了硬编码的延迟时间,但您还应该能够期望看到串行端口的输出来决定何时发送命令。