Não é possível ler o aviso durante o estágio de inicialização através da socat para uma porta serial virtual

0

Estou tentando implantar a imagem do Docker (convertida em vmdk - controlador Sata - vdi criado) no VirtualBox.

Isto é o que estou fazendo através da automação, neste estágio eu habilitei a porta serial "host device" > "caminho / para / arquivo" na máquina virtual para que eu possa usar socat para ler e entrar contra prompts durante a fase de implantação.

Durante a fase de inicialização, quando a Máquina Virtual aparece, a tela mostra aviso, que nunca é capturado pelo socat, em vez socat revela o próximo passo, ou seja, digitar a senha e pular mostrando este aviso (abaixo).

insira a descrição da imagem aqui

Depois de mais solução de problemas, descobri que socat delibrately coloca / converte caracteres de nova linha e adiciona vários ^ M, devido ao qual estou assumindo que esse aviso está sendo ignorado.

Existe alguma maneira que eu possa: 1. Fazer com que a socat não entre desnecessariamente. 2. Ou desative este aviso?

O comando soc da BTW que estou usando é:

socat - /path/to/file,ignoreeof

Ou isso pode estar relacionado com a taxa de transmissão ou outras configurações (por acaso eu tentei taxas diferentes, mas não tive sorte, uma vez que não consegue ler a porta virtual se eu especificar a taxa de transmissão)

    
por Chirag Dhyani 28.07.2018 / 06:21

1 resposta

0

Se /path/to/file é um pipe nomeado, por que não usar tee para capturar a saída do pipe, gravá-lo em um arquivo real e monitorá-lo ao mesmo tempo no terminal? Como em cat /path/to/file | tee /tmp/serial.log .

Se eu entendi corretamente, você não precisa digitar nada até que peça a senha, e o aviso será exibido antes disso. Você pode então inspecionar /tmp/serial.log com less ou um editor de texto e ler tudo o que houver para ler.

    
por 28.07.2018 / 10:57