Перенаправить вывод окна QEMU на терминал с запущенным qemu

Я пытаюсь отладить последовательность загрузки ядра Linux с помощью qemu, команда, которую я запускаю:

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

Во время загрузки все сообщения ядра выводятся в окно QEMU. Только когда загрузка закончится, я получаю приглашение обратно в терминал, в котором я запускаю QEMU.

Теперь я могу начать использовать терминал ядра, на котором я работаю, и видеть вывод в терминале, а не в окне QEMU.

Как мне получить все сообщения, включая загрузочные сообщения, на мой терминал, а не в окно QEMU (потому что я не могу прокрутить вверх в этом окне...)?

4 ответа

Решение
  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 параметров нету)

Передать эту консоль Redirect Qemu в файл или на хост-терминал? чтобы получить лог как на qemu, так и на вашем терминале.use "console=ttyAMA0,115200 console=tty highres=off console=ttyS0"

Перенаправление вывода Qemu на терминал может вызвать некоторые проблемы (лично мне это не нравится). Вы можете использовать такие параметры, как -noframe (это создаст новое окно, но не будет оконной рамки) или -curses испытать выход qemu на терминале.

В Windows запуск qemu с опцией -nographic не работает! У меня была такая же проблема с консолью черного экрана после загрузки на Debian (архитектура sparc) Консоль [tty0] включена, загрузочная консоль отключена

Решение состоит в том, чтобы установить клиент VNC и добавить параметр "-vnc 127.0.0.1:20" в qemu-system-xyz. После запуска виртуальной машины, с VNC-клиента, который вы подключаетесь к 127.0.0.1:20, нажмите ctrl-alt-3 и дождитесь сообщения входа в систему.

Другие вопросы по тегам