yonigo
yonigo

Reputation: 1087

redirect QEMU window output to terminal running qemu

Im trying to debug the boot sequence of a linux kernel with qemu, the command i'm running is:

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

During boot all the kernel messages are printed to the QEMU window. Only when the boot has finished i get my prompt back to the terminal i ran QEMU in.

Now i can start using the kernel terminal I'm running and seeing the output in the terminal and not in QEMU window.

How do i get all messages including the boot messages to my terminal and not to QEMU window (because i cant scroll up in that window..) ?

Upvotes: 35

Views: 74079

Answers (3)

Anton
Anton

Reputation: 1016

  1. remove -serial stdio parameter
  2. add -nographic parameter
  3. and change the kernel parameter terminal = ttyS0 to console=ttyS0. This should do the trick.

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

You may want to check the script I use for kernel development: https://github.com/arapov/wrap-qemukvm (it's not very "production", but you can find useful qemu cli parameters there)

Upvotes: 50

vinay hunachyal
vinay hunachyal

Reputation: 3891

refer this Redirect Qemu console to a file or the host terminal? to get the log on both qemu and your terminal .use "console=ttyAMA0,115200 console=tty highres=off console=ttyS0"

Upvotes: 11

rakib_
rakib_

Reputation: 142625

Redirecting Qemu output to terminal might cause some problem (personally i don't like it). You can using options like -noframe (this will create new window but won't any window frame) or -curses to experience qemu output on terminal.

Upvotes: 3

Related Questions