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

标签 linux debugging linux-kernel qemu

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

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

在启动期间,所有内核消息都打印到 QEMU 窗口。 只有当引导完成后,我才会将提示返回到运行 QEMU 的终端。

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

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

最佳答案

  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 参数)

关于linux - 将 QEMU 窗口输出重定向到运行 qemu 的终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19565116/

相关文章:

windows - 如何找到线程本地存储的开始和结束?

silverlight - 不使用IE进行调试时,会将空引用指针传递给 stub

debugging - ollydbg 操作码跟踪

linux - 将 debian 移植到 leopord dm368

linux - 软件中断例程和用户态函数的区别

linux - 如何将 Linux 内核缓冲区映射到用户空间?

linux - 在 Linux 中注册可由启动和停止命令控制的守护进程

linux - 构建简单的字符设备,但设备驱动程序文件不会写入或读取

linux - 当多个用户 rsync 到同一个远程位置时,设置 linux 用户和组的正确方法是什么?

asp.net - 无法使用本地 IIS 在 Visual Studio 2017 上进行调试 - 未知错误 0x80004005