QEMU: Что такое “serial0” и “parallel0”? Как их использовать?

Вопрос или проблема

Хост и гость оба на Archlinux.
Запуск ВМ с этой командой:
qemu-system-x86_64 -enable-kvm -cpu host -m 2G -nic none -cdrom archlinux.iso
У нас есть следующие варианты под Вид в меню окна ВМ:

  • VGA
  • compatmonitor0
  • serial0
  • parallel0

Я понимаю первые два.
Но что такое serial0 и parallel0?
Как их применяют касательно ВМ?

Если они не нужны, зачем их использовать или даже спрашивать? 🙂

Это порты:

Последовательный (COM) порт часто используется для отладки.

Параллельный порт был очень популярен 20 лет назад и использовался для подключения принтеров. В настоящий момент он практически вышел из употребления.

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

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

Это предполагает, что в вашей операционной системе установлены соответствующие драйверы. Если они установлены, то что-то вроде

echo "hello" > /dev/ttyS0

выведет сообщение “hello” на serial0 в QEMU.

Ответ или решение

В контексте использования QEMU на Arch Linux, "serial0" и "parallel0" представляют собой виртуальные порты, которые эмулируют соответственно последовательный и параллельный порты в виртуальной машине (VM). Эти порты могут иметь различные применения, в зависимости от задач, которые вы выполняете.

serial0 — виртуальный последовательный порт

Последовательный порт, доступный через "serial0", может использоваться для отладки и контроля виртуальной машины. Обычно это обозначение COM-порта. Последовательные порты широко применяются для передачи данных с минимальными накладными расходами, особенно в серверных или встраиваемых системах.

Примеры использования:

  • Отладка системы: Вы можете направлять системные журналы или вывод отладочной информации через serial0, что особенно полезно, если графический интерфейс недоступен или нестабилен.
  • Консоль доступа: Создание простого текстового интерфейса для взаимодействия с системой. Например, можно использовать команду echo "hello" > /dev/ttyS0 на гостьевой системе, чтобы передать сообщение на хостовую через serial0.

Для активного использования последовательного порта в QEMU, вам нужно добавить соответствующий параметр при запуске, например:

qemu-system-x86_64 -enable-kvm -cpu host -m 2G -nic none -serial stdio -cdrom archlinux.iso

Это направит вывод serial0 в стандартный ввод/вывод терминала.

parallel0 — виртуальный параллельный порт

Параллельный порт, эмулируемый как "parallel0", может использоваться для эмуляции устройств, таких как принтеры или другие периферийные устройства, штатно использовавшие LPT-порт. Хотя на сегодняшний день такие порты используются редко, они могут быть необходимы для работы с устаревшим программным обеспечением или оборудованием, требующим LPT-соединения.

Примеры использования:

  • Подключение эмулятора принтера: Это может оказаться полезным в тестовой среде, где требуется взаимодействие с приложениями, предназначенными для печати через параллельный порт.
  • Имитация специального оборудования: Приложения, общающиеся с оборудованием через параллельный интерфейс, могут быть протестированы без необходимости в настоящем оборудовании.

Для использования параллельного порта, добавьте в команду запуска:

qemu-system-x86_64 -enable-kvm -cpu host -m 2G -nic none -parallel none -cdrom archlinux.iso

Заключение

Виртуальные порты "serial0" и "parallel0" в QEMU предоставляют гибкость при настройке окружения, особенно для нужд отладки и тестирования. Несмотря на то, что физические параллельные порты сегодня практически не используются, их эмуляция может быть полезной для работы с устаревшими системами и программами. Стоит отметить, что для полноценной работы необходимо, чтобы операционная система вашей виртуальной машины имела установленные соответствующие драйверы.

Оцените материал
Добавить комментарий

Капча загружается...