我通过 ssh 连接到一台机器,并且想在这个 ssh 会话中启动一个 qemu 会话。
我认为 nographic 选项可以解决问题。
-nographic
通常,QEMU 使用 SDL 显示 VGA 输出。使用此选项,您可以完全禁用图形输出,这样 QEMU 就是一个简单的命令行应用程序。模拟串行端口被重定向到控制台。因此,您仍然可以使用 QEMU 通过串行控制台调试 Linux 内核。
不幸的是,我没有看到任何输出。我通过 ssh 连接到计算机后使用的命令行是:
qemu-system-x86_64 -hda debian.img -nographic
知道发生什么事了吗?
答案1
我的错,
-curses 选项似乎可以满足我的要求。
答案2
您实际上拔掉了“虚拟显示器”。-nographic
不会让显示器进入终端,而是禁用它。串行端口 (com 端口) 会回显到您的终端。
答案3
按照 LB 的建议,使用 -curses 进行交互式终端会话。非常适合 ssh。
我还使用以下命令来监视启动过程(本地或通过 ssh)。使用“-serial stdio”调用 qemu,并将“console=ttyS0”附加到 grub 的内核行。所有内核输出都将发送到 ttyS0 串行控制台,并将打印到 stdio(您的终端)。这样我就可以轻松复制/粘贴启动过程,这是使用 sdl 窗口无法做到的。
答案4
如果您想通过控制台访问命令行,则需要在客户 Debian 系统中启用串行线。
为此,请编辑/etc/inittab
并取消注释以下行:
T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
(至少在我的 debian 6 上这是我的 inittab 所包含的内容)
这样,您的系统就会将终端连接到 Qemu 模拟的串行线。
您还必须使用该-nographic
选项,告诉 Qemu 将串行线重定向到控制台。
这对我有帮助:http://www.debuntu.org/how-to-set-up-a-serial-console-on-debian/
(我知道这个问题很老了,但我在寻找完全相同的问题时遇到了它......)