На тот случай, если необходимо создать последовательный порт в гостевой системе, VirtualBox, начиная с версии 1,5 предлагает 2 варианта при котором порт можно использовать для : хост устройство и хост канал.

С режимом хост устройство всё довольно просто, в качестве устройства можно указать реальный порт на хост машине и последовательный порт гостевой системы будет прозрачно соединён с последовательным портом хост машины.

В данной записке мы рассмотрим второй вариант — хост канал.

Задача — сэмулировать последовательный порт на гостевой и на хост машинах и соединить их между собой.

Хост канал можно создать в двух режимах: В активном режиме, когда виртуальная машина сама создаст канал под указанным именем и будет его прослушивать, В пассивном, когда она будет пытаться подключится к каналу с указанным именем.

Я лично предпочитаю первый вариант.

Итак при запуске машины мы получим канал, который на linux хосте представляет собой доменный сокет Unix. Это конечно же не последовательный порт.

Чтобы создать виртуальный порт и перенаправить туда данные воспользуемся программой socat.

socat -d -d UNIX-CONNECT:/home/alex/com1 pty,raw,echo=0

Данная команда подключит доменный сокет к виртуальному порту из /dev/pts

Реклама