Динамически запускать консоль для TTY в LINUX
Мы внедрили linux на плату ARM9, которая подключена к другой плате по последовательной линии TTY1, иного способа связи с платой ARM9 (нет ethernet и usb) нет, в нашей плате ARM9 с обычным состоянием приложения обмениваются данными с другой платой на TTY1. В режиме обслуживания мы хотим запустить консоль на плате ARM9 linux, поэтому наша идея заключалась в следующем:
- Отправить специальную команду для нашего программного обеспечения
- Наше программное обеспечение делает что-то, чтобы подготовить активацию консоли на TTY1 для следующей перезагрузки
- Программная перезагрузка программного обеспечения
- СЕЙЧАС в режиме консоли на TTY1
- Изменить то, что нам нужно
- Попросите нормальную перезагрузку и запустите наше нормальное ПО
Нам понадобится некоторая помощь на шаге 2, что мы можем написать где-нибудь или какую команду мы можем программно запустить, чтобы сказать linux перезагрузиться в консольном режиме на TTY1?
1 ответ
tty1 обычно будет виртуальным терминалом - возможно, ttyS0 или ttyS1?
По сути, нужно сделать две вещи: заставить ядро вывести на последовательное соединение во время загрузки и запустить терминальную программу на последовательной линии.
https://wiki.archlinux.org/index.php/Working_with_the_serial_console
дает несколько хороших подсказок о том, как все настроить, но вам придется адаптировать их под ваши настройки.