2013-10-24 269 views
16

林尝试调试Linux内核QEMU的引导序列, 我运行该命令为:QEMU窗口输出重定向到终端中运行的qemu

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

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

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

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

+1

http://stackoverflow.com/questions/18098455/redirect-qemu-console-to-a-file-or-the-host-terminal/18100781#18100781 –

回答

27
  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(它不是很“生产”,但你可以找到有用qemucli参数有)

+2

一些模拟机器需要'console = ttyAMA0,115200 '而不是'console = ttyS0'。或者,您可以提供两个在维纳的答案。 – simonp

+0

只需检查您是否要设置root =/dev/sda1或/ dev/sda。我不得不把它设置为/ dev/sda1的 –

+0

这抑制所有输出... – Cerin

2

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

8

请参阅本Redirect Qemu console to a file or the host terminal? 以获得在qemu和您的终端上的日志。使用 "console=ttyAMA0,115200 console=tty highres=off console=ttyS0"

+0

这不是解决我微不足道的问题,第二个tty控制台在qemu中消失了:http://raspberrypi.stackexchange.com/questions/56302/qemu-2-7-0-for-the-raspi2-machine-do-不秀海第二-TTY控制台只-的 – 42n4

+0

@ 42n4 https://learningfromyoublog.wordpress.com/或https://learningfromyoublog.wordpress。com/2016/04/05/131/ –

+0

我使用了qemu机器raspi2和cpu arm1176,并使用armv7a-hardfloat编译了原始的树莓内核源代码和bcm2709_defconfig,所以所有代码都非常“原生”,并且它不同马上,看看我的问题makefile:http://raspberrypi.stackexchange.com/questions/56302/qemu-2-7-0-for-the-raspi2-machine-do-not-show-the-second-tty -console-only- – 42n4

-1

在windows上,启动qemu与-nograp hic选项不起作用! 我曾与黑色的屏幕控制台同样的问题在Debian启动(SPARC架构)后 Console [tty0] enabled, bootconsole disabled

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

+0

这不是一个解决方案,看起来更像是你有个人选项的问题。如果您需要qemu的帮助,请在stackoverflow上打开一个问题。 – aliceinwire