Перевод статьи: How-To set up a serial console on Ubuntu
Этот урок проведёт вас через этапы, необходимые для настройки консоли на последовательном порту в Ubuntu Linux.
В отличие от других дистрибутивов, Ubuntu использует upstart вместо sysvinit и поэтому есть некоторые отличия этого урока от большинства уроков, которые вы можете найти в Интернете, описывающих настройку последовательной консоли.
Последовательная консоль становится необходимой, если она запущена на "безголовом" сервере (то есть не имеющим клавиатуры и экрана) или если вы не можете подключиться к серверу из-за неполадок в сети.
В этом уроке мы настроим последовательную консоль на сервере, компьютере к которому мы хотим получить доступ. Настройка клиента последовательной консоли описана в другой статье.
Чтобы найти устройства, доступные на компьютере, вы можете запустить:
$ dmesg | grep tty serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Из выведенного можно определить, что имеется один последовательный интерфейс (/dev/ttyS0). Возможно на вашем компьютере будет более одного интерфейса. В этом уроке будем считать, что мы используем первое устройство (ttyS0). Если вы используете второе устройство, вам нужно заменить ttyS0 на ttyS1.
На сервере мы настроим:
Для настройки последовательной консоли нам потребуется создать новый файл /etc/event.d/ttyS0, чтобы порождать getty на последовательном устройстве. getty позаботится о выводе приглашения для ввода имени пользователя и пароля.
Отредактируем /etc/event.d/ttyS0 и добавим:
# ttyS0 - getty # # Служба сопровождает getty на ttyS0 начиная с момента # запуска системы и до её остановки. start on runlevel 2 start on runlevel 3 start on runlevel 4 start on runlevel 5 stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec /sbin/getty -L 115200 ttyS0 vt102
Чтобы разрешить вход пользователю root (если вы включили учётную запись пользователя root на вашем компьютере) через последовательную консоль, вам нужно отредактировать файл /etc/securetty и добавить:
ttyS0
grub можно настроить на вывод сообщений в последовательную консоль. Отредактируйте меню grub и добавьте:
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console
В разделе до различных ядер. Это приведёт к тому, что grub будет отображаться на последовательной консоли и вы сможете управлять grub через последовательную консоль или загружаться с использованием другого ядра.
Если используется ttyS1, замените --unit=0 на --unit=1.
Также, чтобы сообщения о загрузке выводились на последовательную консоль, вам нужно добавить к строке вашего ядра следующее:
console=ttyS0,115200n8 console=tty0
Тогда строка ядра будет выглядеть следующим образом:
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=uuuuuu-iii3-dddd-uuuu-iiiiiddddd ro quiet splash console=ttyS0,115200n8 console=tty0
Теперь, при следующей перезагрузке вы сможете подключиться прямо к вашему компьютеру через последовательную консоль!