Не удается прочитать предупреждение на этапе загрузки через socat для виртуального последовательного порта

336
Chirag Dhyani

Я пытаюсь развернуть образ Docker (преобразованный в vmdk - контроллер Sata - vdi создан) на VirtualBox.

Это я делаю с помощью автоматизации, на этом этапе я включил последовательный порт «хост-устройство»> «путь / файл /» на виртуальной машине, чтобы я мог использовать socat для чтения и ввода против запросов на этапе развертывания.

Во время фазы инициализации, когда виртуальная машина запускается, на экране отображается предупреждение, которое никогда не перехватывает socat, вместо этого socat раскрывает следующий шаг, то есть ввод пароля, и пропускает показ этого предупреждения (ниже).

Не удается прочитать предупреждение на этапе загрузки через socat для виртуального последовательного порта

После еще большего устранения неполадок я обнаружил, что socat преднамеренно помещает / преобразует символы новой строки и добавляет несколько ^ M, из-за чего я предполагаю, что это предупреждение пропускается.

Есть ли способ, которым я могу либо: 1. Заставить socat не вводить ^ M без необходимости. 2. Или отключить эту подсказку?

Кстати, команда socat, которую я использую:

socat - /path/to/file,ignoreeof 

Или это может быть связано с скоростью передачи данных или другими настройками (кстати, я пробовал разные скорости, но не повезло, так как он не может прочитать виртуальный порт, если я укажу скорость передачи данных)

0

1 ответ на вопрос

0
dirkt

Если /path/to/fileэто именованный канал, почему бы не использовать его teeдля захвата выходных данных канала, записи его в реальный файл и одновременного мониторинга на терминале? Как в cat /path/to/file | tee /tmp/serial.log.

Если я вас правильно понял, вам не нужно ничего вводить, пока не будет запрошен пароль, и перед этим будет отображаться предупреждение. Затем вы можете проверить /tmp/serial.logс lessили текстовым редактором, и читать все, что нужно читать.

Похожие вопросы