将QEMU窗口输出redirect到运行qemu的terminal

我试图用qemudebuggingLinux内核的启动顺序,我运行的命令是:

qemu -serial stdio -kernel <path to kernel> -hda <path to rootfs> -append "root=/dev/sda terminal = ttyS0" 

在启动过程中,所有内核消息都被打印到QEMU窗口。 只有当启动完成后,我得到我的提示回到terminal,我跑QEMU。

现在我可以开始使用正在运行的内核terminal,并在terminal中看到输出,而不是在QEMU窗口中。

我如何获得包括引导消息到我的terminal,而不是QEMU窗口的所有消息(因为我不能向上滚动窗口..)?

Solutions Collecting From Web of "将QEMU窗口输出redirect到运行qemu的terminal"

  1. 删除-serial stdio参数
  2. 添加-nographic参数
  3. 并将内核参数terminal = ttyS0更改为console=ttyS0 。 这应该做的伎俩。

qemu -nographic -kernel ./bzImage -hda ./image.hda -append root=/dev/sda console=ttyS0

你可能想检查我用于内核开发的脚本: https : //github.com/arapov/wrap-qemukvm (这不是很“生产”,但你可以找到有用的qemu cli参数)

请将此重定向Qemu控制台到文件或主机终端? 得到qemu和你的终端上的日志。使用"console=ttyAMA0,115200 console=tty highres=off console=ttyS0"

将Qemu输出重定向到终端可能会导致一些问题(我个人不喜欢它)。 你可以使用像-noframe这样的选项(这将创建新的窗口,但不会有任何窗口框架)或-curses体验终端上的qemu输出。

在Windows上,使用-nographic选项启动qemu不起作用! 在debian(sparc体系结构)上启动后,我遇到了与黑屏控制台相同的问题, 控制台[tty0]启用,bootconsole禁用

解决方法是安装一个VNC客户端 ,并将参数“-vnc 127.0.0.1:20”添加到qemu-system-xyz。 启动虚拟机后,从连接到127.0.0.1:20的VNC客户端,按ctrl-alt-3并等待登录消息。