Ubuntu явно не использует printf для вывода при загрузке? Может это?

. Этот вопрос возникает у меня, когда я пытаюсь заставить гостевую ОС Ubuntu отображать загрузочные сообщения в виртуальной машине QEMU (, например [ 2.34567890123]... и [ ОК ].... ). Здесь у меня есть виртуальная машина QEMU, и хост, и гость — Ubuntu 20.04. Чтобы отобразить загрузочные сообщения гостя в консоли хоста (, то есть в командной строке, которая запускает qemu), я устанавливаю некоторые строки файла гостя /etc/default/grubследующим образом :

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5
GRUB_TERMINAL_OUTPUT=console
GRUB_CMDLINE_LINUX_DEFAULT=nomodeset

. Затем я запускаю гостя, используя следующую команду:

qemu-system-x86_64 -hda ubuntu.qcow -m 2000 -nographic -serial none

GRUB выводит свой TUI либо в последовательном, либо в текстовом режиме VGA. -nographicотключает выход VGA, а -serial noneотключает последовательную консоль, поэтому я не вижу никакого GRUB TUI. В консоли отображается только монитор QEMU. Согласно документации-nographic(здесь ), «QEMU — это простое приложение командной строки» в этой ситуации. Как и обычная программа C/C++, монитор QEMU используетprintf(или другую функцию, но, пожалуйста, позвольте мне использовать это имя как целесообразное)для отображения его версий, подсказок и других сообщений. Через 5 секунд загружается гостевая ОС Ubuntu. Однако я не вижу никаких загрузочных сообщений, напечатанных в консоли. Мои предыдущие эксперименты показывают, что Ubuntu не использует последовательную консоль, вместо этого он использует текстовый режим VGA для вывода. По этой причине я предполагаю, что если Ubuntu может использовать ту же функцию printfдля вывода своих загрузочных сообщений, QEMU должен иметь возможность отображать их в консоли (, мультиплексированную с монитором QEMU), точно так же, как выходные данные монитора QEMU лечатся. Основываясь на наблюдении, что консоль имеет только вывод монитора QEMU, мой вопрос::

Ubuntu не использует printfдля вывода при загрузке, явно или по умолчанию, возможно, из-за соображений производительности? Если это поведение по умолчанию,какой вариант загрузки я могу использовать, чтобы заставить Ubuntu использовать printfдля вывода загрузочного сообщения (или любой метод вывода, который использует монитор QEMU ), в отличие от текстового режима VGA? В качестве примечания: я погуглил, но не нашел онлайн-документации по параметрам загрузки Ubuntu, таким как nomodeset, поэтому я не знаю, есть ли какой-либо параметр загрузки Ubuntu, который может указать это. Пожалуйста, поделитесь со мной ссылкой на него, если вы его знаете. Это большая работа, поэтому я не могу сказать наверняка, что упомянул все выше. Если я пропустил упоминание чего-то в вопросе, сообщите мне, и я отредактирую. Спасибо.

0
задан 11 November 2021 в 07:01

0 ответов

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

Похожие вопросы: