Вопрос или проблема
Хост и гость оба на 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 предоставляют гибкость при настройке окружения, особенно для нужд отладки и тестирования. Несмотря на то, что физические параллельные порты сегодня практически не используются, их эмуляция может быть полезной для работы с устаревшими системами и программами. Стоит отметить, что для полноценной работы необходимо, чтобы операционная система вашей виртуальной машины имела установленные соответствующие драйверы.