Настройка последовательной консоли
Предоставил Kazutaka YOKOTA. Оригинальный документ написал Bill Paul.
Убедитесь, что в файле настройки ядра установлены соответствующие флаги для COM1 (sio0).
Подходящие флаги такие:
0x10
Включает поддержку консоли для этого устройства. Если установлен этот флаг, другие игнорируются. На данный момент поддержка консоли может быть включена не более чем на одном устройстве; предпочтительно на первом (в соответствии с порядком в конфигурационном файле) с установкой этого флага. Эта опция сама по себе не сделает последовательный порт консолью. Установите следующий флаг или используйте опцию -h, описанную ниже, вместе с этим флагом.
0x20
Включает поддержку консоли на устройстве (если нет другой консоли с более высоким приоритетом), независимо от наличия описываемой ниже опции -h. Этот флаг заменил опцию COMCONSOLE в FreeBSD версий 2.X. Флаг 0x20 должен использоваться вместе с флагом 0x10.
0x40
Резервирует это устройство (совместно с флагом 0x10) и делает устройство недоступным для обычной работы. Вы не должны использовать этот флаг для устройства последовательного порта, которое будет использоваться в качестве последовательной консоли. Используйте этот флаг только если устройство предназначено для удаленной отладки ядра. Обратитесь к Руководству для разработчиков за дополнительной информацией по удаленной отладке.
Замечание: В FreeBSD 4.0 или выше семантика флага 0x40 немного другая и для удаленной отладки используется другой флаг.
Пример:
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
Обратитесь к странице справочника sio(4) за подробностями.
Если флаги не были установлены, вам потребуется запустить UserConfig (на другой консоли) или пересобрать ядро.
Создайте boot.config в корневом каталоге раздела a на загрузочном диске.
Этот файл сообщит загрузочному блоку способ загрузки системы. Для активации последовательной консоли вам потребуется одна или несколько следующих опций -- несколько опций могут быть указаны на одной строке:
-h
Переключает внутреннюю и последовательную консоль. Вы можете использовать ее для переключения устройств консоли.
Например, при загрузке с внутренней (видео) консоли, вы можете использовать -h для запуска загрузчика и ядра с использованием последовательного порта в качестве устройства консоли. При загрузке с последовательной консоли, вы можете использовать опцию -h для указания загрузчику и ядру использовать в качестве консоли видео дисплей.
-D
Переключает одно- и двухконсольную конфигурации. В одноконсольной конфигурации консоль может быть либо внутренней (видео дисплей), либо последовательным портом, в зависимости от состояния опции -h. В двухконсольной конфигурации и видео дисплей и последовательный порт станут консолями одновременно, независимо от состояния опции -h. Имейте ввиду, что конфигурация с двумя консолями работает только во время работы загрузочного блока. Как только управление переходит к загрузчику, остается только одна консоль, указанная опцией -h.
-P
Указывает загрузочному блоку протестировать клавиатуру. Если клавиатура не найдена, автоматически устанавливаются параметры -D и -h.
Замечание: По причине ограничений на размер в существующей версии загрузочного блока, опция -P может протестировать только расширенные клавиатуры. Клавиатуры с менее чем 101 клавишами (и без клавиш F11 и F12) могут быть не обнаружены. Клавиатуры некоторых лэптопов могут быть не найдены из-за этого ограничения. Если это случилось, вы не сможете использовать опцию -P. К сожалению, не существует обходного пути решения этой проблемы.
Используйте или опцию -P для автоматического выбора консоли, или опцию -h для активации последовательной консоли.
Вы можете включить также другие опции, описанные в boot(8).
Опции, за исключением -P, будут переданы загрузчику (/boot/loader). Загрузчик определит будет ли консолью внутреннее видео устройство или последовательный порт, проверив только состояние опции -h. Это означает, что если вы включите в /boot.config опцию -D, но не -h, то сможете использовать консоль только во время работы загрузочного блока; загрузчик будет использовать внутреннее видео устройство в качестве консоли.
Загрузите компьютер.
Когда вы включите компьютер FreeBSD, загрузочный блок выведет содержимое /boot.config на консоль. Например:
/boot.config: -P Keyboard: no
Вторая строка появится только если вы поместите -P в /boot.config и отражает наличие/отсутствие клавиатуры. Эти сообщения выводятся либо на последовательную, либо на внутреннюю консоль, или на обе, в зависимости от параметров в /boot.config.
нет | внутренняя консоль |
-h | последовательная консоль |
-D | последовательная и внутренняя консоли |
-Dh | последовательная и внутренняя консоли |
-P, клавиатура присутствует | внутренняя консоль |
-P, клавиатура отсутствует | последовательная консоль |
Нажмите на консоли любую клавишу кроме Enter для прерывания процесса загрузки. Загрузочный блок выдаст приглашение к дальнейшим действиям. Оно выглядит примерно так:
>> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot:
Убедитесь, что сообщение выше появилось на последовательной, внутренней консоли или на обеих, в зависимости от опций в /boot.config. Если сообщение появилось там, где должно было появиться, нажмите Enter для продолжения процесса загрузки.
Если вам нужна последовательная консоль, но на терминале не видно приглашения, это означает проблемы с настройками. Введите -h и нажмите Enter/Return (если это возможно) для указания загрузочному блоку (а также загрузчику и ядру) выбрать последовательный порт в качестве консоли. Когда система загрузится, проверьте настройки еще раз и определите, что было сделано неправильно.
После запуска загрузчика и перехода в третью стадию процесса загрузки вы все еще можете переключиться между внутренней консолью и последовательной консолью путем установки соответствующих переменных окружения в загрузчике.Обращайтесь к разделу Разд. 20.6.6.