Перевод статьи: How-To set up a serial console on Debian
Этот урок проведёт вас через этапы, необходимые для настройки консоли на последовательном порту в Debian Linux.
Debian использует sysvinit для управления процессом загрузки, среди различных задач которого есть и эта. Существуют некоторые отличия этого урока от большинства уроков, которые вы можете найти в Интернете, описывающих настройку последовательной консоли.
Последовательная консоль становится необходимой, если она запущена на "безголовом" сервере (то есть не имеющим клавиатуры и экрана) или если вы не можете подключиться к серверу из-за неполадок в сети.
В этом уроке мы настроим последовательную консоль на сервере, компьютере к которому мы хотим получить доступ. Настройка клиента последовательной консоли описана в другой статье.
Чтобы найти устройства, доступные на компьютере, вы можете запустить:
$ dmesg | grep tty serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:0a: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Из выведенного можно определить, что имеется два последовательных интерфейса (/dev/ttyS0 и /dev/ttyS1). В этом уроке будем считать, что мы используем первое устройство (ttyS0). Если вы используете второе устройство, вам нужно заменить ttyS0 на ttyS1.
На сервере мы настроим:
Для настройки последовательной консоли нам потребуется отредактировать файл /etc/inittab, чтобы порождать getty на последовательном устройстве. getty позаботится о выводе приглашения для ввода имени пользователя и пароля.
Отредактируем /etc/inittab и добавим:
s0:2345:respawn:/sbin/getty -L 115200 ttyS0 vt102
прямо за блоком:
1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6
Теперь запустим:
# init q
Чтобы заставить sysvinit перечитать его настройки и породить getty на /dev/ttyS0 .
Чтобы разрешить вход пользователю 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.18-6-686 root=/dev/sda1 ro console=ttyS0,115200n8 console=tty0
Теперь, при следующей перезагрузке вы сможете подключиться прямо к вашему компьютеру через последовательную консоль!