Если инфорация оказалась интересна и/или полезна, не побрезгуйте, оставьте комментарий ;)

четверг, 17 декабря 2009 г.

Перенаправление вывода на консольный порт

Столкнулся с задачей. Есть модуль для межсетевого экрана - обычный компьютер со специализированным ПО. Надо поставить Linux и некоторое ПО. Из доступных портов:
2 Ethernet 1000Gb/s
1 консольный порт
1 VGA порт.

Мышь и клавиатуру подключить некуда. Что делать? ни одного открытого USB порта (DVD-привод не подключить).

Вытаскиваем винчестер. Подключаем его к другому компьютеру (я использовал EeePC 701) и тихо-спокойно ставим Linux (я брал Debian).

После установки кое-что надо исправить. В модуле только один диск. Соответсвенно это будет sda. Правим /etc/fstab.

Исправляем настройки загрузчика grub (/boot/grub/menu.lst)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro

Теперь думаем о консоли. При загрузке биоса скорость порта высталена на 9600. Это очень неудобно для работы (медленно). Поэтому я выбрал скорость 38400, пожертвовав выводом БИОСа.

Необходимые правки.

1. Вывод меню Grub
В файле /boot/grub/menu.lst после секции с паролем вставляем следующие две строки:

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
Все параметры и цифры должны быть понятны. Это то, что потом выставим в терминальном клиенте. Если все в порядке, перед меню Grub будет появлять предложение нажать любую клавишу, чтобы система могла определить, через какой интерфейс идет с ней общение.

2. Вывод процесса загрузки и всего остального, что следует за меню Grub.
Все в том же файле в свойствах пуктов меню в строку с kernel вписываем параметры консоли:
title           Debian GNU/Linux, kernel 2.6.18-6-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro console=tty0 console=ttyS0,38400n8
initrd          /boot/initrd.img-2.6.18-6-686
savedefault

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

3. Аутентификация через консоль (вывод запроса логина и пароля в консоль).

Открываем файл /etc/inittab и вписываем (а скорее всего просто раскомментируем строки)
T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100
T1:23:respawn:/sbin/getty -L ttyS1 38400 vt100
На этом настройка завершена. Перезагружаемся и проверяем.

Адаптированный вариант этой статьи

Комментариев нет: