一尘不染

将QEMU窗口输出重定向到运行qemu的终端

linux

我正在尝试使用qemu调试linux内核的启动顺序,我正在运行的命令是:

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

在引导过程中,所有内核消息都将打印到QEMU窗口。仅在启动完成后,我才提示我回到运行QEMU的终端。

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

我如何将包括启动消息在内的所有消息发送到我的终端而不是QEMU窗口(因为我无法在该窗口中向上滚动。)?


阅读 1289

收藏
2020-06-07

共1个答案

一尘不染

  1. 删除-serial stdio参数
  2. 添加-nographic参数
  3. 并将内核参数更改terminal = ttyS0console=ttyS0。这应该可以解决问题。

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

您可能要检查我用于内核开发的脚本:https :
//github.com/arapov/wrap-qemukvm(虽然不是很“实用”,但是您可以在qemu cli此处找到有用的参数)

2020-06-07