1

Мне нужно получить конфигурационный файл с гостевой виртуальной машины без поддержки сети. Самый простой способ сделать это, вероятно, использовать последовательный порт. Насколько я понимаю, мне нужно создать своего рода "петлю" последовательного порта, чтобы я мог подключиться с помощью, например. minicom позволяет сказать /dev /vttyS0, и я назначу /dev /vttyS1 гостю VirtualBox.

Гость использует скорость 115200 бод. Как мне создать такую пару устройств?

Я попробовал сокат:

socat -d -d pty,raw,echo=0 pty,raw,echo=0

Однако VirtualBox, по-видимому, не воспринимает это как правильную ошибку выброса последовательного устройства

Ioctl failed for serial host device /dev/pts/10 (VERR_INVALID_PARAMETER)
Device will not work properly

ErrorID DrvHostSerialFail
Severity Warning

2 ответа2

5


Первая настройка настройки последовательной консоли в хост-ОС.
В настройках виртуальной коробки,
последовательные порты -> порт 1
Порт № COM1
Режим порта - хост-канал
подключить к существующей трубе / носок - НЕПРОВЕРЕНО
Путь / Аддесса: / tmp / vbox
Теперь установите Minicom
sudo minicom -s -c on
Настройка последовательного порта
Последовательное устройство: unix # / tmp / vbox
Выход


Включить последовательную консоль в гостевой
sudo vi /etc /default /grub
GRUB_CMDLINE_LINUX = "console = ttyS0,115200n8 console = tty0 ignore_loglevel"
sudo update-grub
Теперь включите getty On Console ttyS0
Для Upstart Sytem
1) Создайте файл с именем /etc/init/ttyS0.conf, содержащий следующее:

# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[12345]
stop on runlevel [!12345]

респаун exec /sbin /getty -L 115200 ttyS0 vt102

2) Попроси выскочки запустить Гетти

sudo start ttyS0


Для системных систем

# sudo systemctl enable serial-getty@ttyS0.service
# sudo systemctl start serial-getty@ttyS0.service
# sudo systemctl daemon-reload


Теперь перезагрузите гостевую ОС, и вы получите последовательную консоль на хосте через Minicom.

1

Способ подключения от хоста к гостю заключается в

  1. Создайте последовательный порт в virtualbox в режиме "Host Pipe" с путем, например. / DEV / vboxttyS0.
  2. включить этот последовательный порт в гостевой
  3. Используйте socat unix-connect:/dev/vboxttyS0 -,b57600 или socat unix-connect:/dev/vboxttyS0 -,raw,echo=0 который в моем конкретном случае работал лучше.

Я связался с поставщиком ОС, и оказалось, что последовательные порты должны быть включены явно, хотя на устройствах с открытым исходным кодом они включены по умолчанию:/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .