Conexão Linux do host ao VirtualBox Guest pela porta serial virtual

1

Eu preciso recuperar o arquivo de configuração da VM guest sem suporte de rede. A maneira mais simples de fazer isso é provavelmente usar a porta serial. Tanto quanto eu entendo eu preciso criar um tipo de porta serial "loop" para que eu possa conectar usando por exemplo. minicom para digamos / dev / vttyS0 e eu vou atribuir / dev / vttyS1 para o convidado do VirtualBox.

O convidado está usando a taxa de transmissão 115200. Como eu crio esse par de dispositivos?

Eu tentei socat:

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

No entanto, o VirtualBox não parece entendê-lo como erro de lançamento do dispositivo serial correto

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

ErrorID DrvHostSerialFail
Severity Warning
    
por Lapsio 29.06.2017 / 03:29

2 respostas

5


Configuração inicial do Console Serial no sistema operacional host.
Na configuração do VirtualBox,
portas seriais - > Porta 1
Port No. COM1
Port Mode - Host Pipe
conectar ao tubo existente / socked - UNCHECKED
caminho / Addess: / tmp / vbox
Agora, defina o Minicom
sudo minicom -s -c on
Configuração da porta serial
Dispositivo Serial: unix # / tmp / vbox
Sair


Ativar o console serial no convidado
sudo vi / etc / default / grub
GRUB_CMDLINE_LINUX="console = ttyS0,115200n8 console = tty0 ignore_loglevel"
sudo update-grub
Agora habilite o getty no console ttyS0
Para o Systema Upstart
1) Crie um arquivo chamado /etc/init/ttyS0.conf contendo o seguinte:

# 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]

respawn exec / sbin / getty -L 115200 ttyS0 vt102

2) Peça ao upstart para iniciar o getty

sudo start ttyS0


Para sistemas Systemd

# sudo systemctl enable [email protected]
# sudo systemctl start [email protected]
# sudo systemctl daemon-reload


Agora reinicie seu sistema operacional convidado e você receberá o console serial no seu sistema operacional via minicom

    
por 25.04.2018 / 16:44
1

A maneira de conectar-se do host ao convidado é

  1. Crie uma porta serial no VirtualBox no modo "Host Pipe" com o caminho, por exemplo. / dev / vboxttyS0.
  2. ativar essa porta serial no convidado
  3. Use socat unix-connect:/dev/vboxttyS0 -,b57600 ou socat unix-connect:/dev/vboxttyS0 -,raw,echo=0 , que no meu caso específico funcionou melhor.

Eu entrei em contato com o fornecedor do SO e as portas seriais têm que ser habilitadas explicitamente, mesmo que em dispositivos bare-metal eles estejam habilitados por padrão: /

    
por 29.06.2017 / 22:47