Перенаправить вывод окна QEMU на терминал, работающий qemu
Im пытается отладить последовательность загрузки ядра Linux с помощью qemu,
команда, которую я запускаю:
qemu -serial stdio -kernel <path to kernel> -hda <path to rootfs> -append "root=/dev/sda terminal = ttyS0"
Во время загрузки все сообщения ядра печатаются в окне QEMU.
Только когда загрузка завершилась, я вернусь обратно к терминалу, в который я запустил QEMU.
Теперь я могу начать использовать терминал ядра, который я запускаю, и видеть вывод в терминале, а не в окне QEMU.
Как получить все сообщения, включая загрузочные сообщения, на мой терминал, а не в окно QEMU (потому что я не могу прокручивать вверх в этом окне..)?
Ответы
Ответ 1
- удалить параметр
-serial stdio
- добавить
-nographic
параметр
- и измените параметр ядра
terminal = ttyS0
на console=ttyS0
. Это должно сделать трюк.
qemu -nographic -kernel ./bzImage -hda ./image.hda -append root=/dev/sda console=ttyS0
Вы можете проверить script, который я использую для разработки ядра: https://github.com/arapov/wrap-qemukvm (это не очень "производство", но вы может найти полезные qemu
cli
параметры там)
Ответ 2
обратитесь к Перенаправить консоль Qemu в файл или на хост-терминал?
получить журнал как на qemu, так и на вашем терминале .use
"console=ttyAMA0,115200 console=tty highres=off console=ttyS0"
Ответ 3
Перенаправление вывода Qemu на терминал может вызвать некоторые проблемы (лично мне это не нравится). Вы можете использовать такие опции, как -noframe
(это создаст новое окно, но не будет какого-либо оконного фрейма) или -curses
, чтобы получить вывод qemu на терминале.
Ответ 4
В окнах запуск qemu с параметром -nographic не работает!
У меня была такая же проблема с черной консолью экрана после загрузки на debian (архитектура sparc)
![Консоль [tty0] включена, bootconsole disabled]()
Решение заключается в установке VNC Client и добавлении параметра "-vnc 127.0.0.1:20" в qemu-system-xyz. После запуска виртуальной машины, от клиента VNC, подключенного к 127.0.0.1:20, нажмите ctrl-alt-3 и дождитесь сообщения для входа.