Установка скорости в бодах для запроса на предварительный вход в систему и запроса на вход в систему для последовательной консоли

257
yashC

На DragonBoard 410 я подключил последовательную консоль к UART0.

Если я хочу видеть загрузочные сообщения ядра вплоть до приглашения на вход в систему, включая распечатки LK, мне нужно установить скорость передачи данных 115200 в бодах на minicom, но как только появится имя пользователя root, мне нужно переключить его на 57600.

Это доставляет мне неудобства.

Как я могу это исправить, чтобы сохранить этот параметр при загрузке?

1

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

1
grawity

Linux использует сервис getty для отображения запросов на вход в консоль (и для повторной инициализации портов). Вам необходимо указать правильный битрейт в командной строке сервиса для каждого порта. (Если система использует стандартный util-linux, agetty вы также можете добавить --keep-baudопцию, чтобы вообще не переключать скорости.)

Как это сделать, зависит от вашего дистрибутива Linux (и какой системы инициализации он использует):

  • Если используется SysV init, отредактируйте /etc/inittab. Найдите строку, в которой упоминается «ttyS0», добавьте параметры в конец, затем либо перезагрузите, либо перезапустите файл с помощью telinit q.

  • Если используется systemd, отредактируйте serial-getty@ttyS0.service. Но вам это и не нужно, потому что файл стокового сервиса уже указан 115200,38400,9600и даже указан --keep-baud.

    (Но если вы действительно нужно отредактировать файл блока, используйте systemctl edit --fullи отрегулируйте ExecStart линию. После сохранения и выхода, перезапустите службу.)

    В качестве примечания, убедитесь, что вы используете serial-getty@.service(оптимизировано для последовательных портов), а не основное getty@.service(оптимизировано для локальных консолей).

  • Если используется другая система инициализации ... см. Ее документацию.