2013-10-24 3 views
16

Im пытается отладить последовательность начальной загрузки в 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, так и на вашем терминале .use "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- not-show-the-second-tty-console-only - – 42n4

+0

@ 42n4 https://learningfromyoublog.wordpress.com/ или https: //learningfromyoublog.wordpress.ком/2016/04/05/131/ –

+0

Я использовал raspi2 QEMU машину и центральный процессор 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

На окнах, начиная qemu с -nograp hic вариант не работает! У меня была такая же проблема с черной консоли экрана после загрузки на Debian (СПАРК архитектура) Console [tty0] enabled, bootconsole disabled

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

+0

Это не решение, похоже, что у вас была проблема с параметром -nographic. Пожалуйста, откройте вопрос о stackoverflow, если вам нужна помощь с qemu. – aliceinwire

Смежные вопросы