2013-10-24 150 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