Вариант 1: вы устанавливаете для sio0 флаги 0x10



device sio0 at isa? port IO_COM1 flags 0x10 irq 4

Параметры в /boot.config Консоль для загрузочного блока Консоль для загрузчика Консоль для ядра
нет внутренняя внутренняя внутренняя
-h последовательная последовательная последовательная
-D последовательная и внутренняя внутренняя внутренняя
-Dh последовательная и внутренняя последовательная последовательная
-P, клавиатура присутствует внутренняя внутренняя внутренняя
-P, клавиатура отсутствует последовательная и внутренняя последовательная последовательная

 

Вариант 2: вы устанавливаете для sio0 флаги 0x30

device sio0 at isa? port IO_COM1 flags 0x30 irq 4

Параметры в /boot.config Консоль для загрузочного блока Консоль для загрузчика Консоль для ядра
нет внутренняя внутренняя последовательная
-h последовательная последовательная последовательная
-D последовательная и внутренняя внутренняя последовательная
-Dh последовательная и внутренняя последовательная последовательная
-P, клавиатура присутствует внутренняя внутренняя последовательная
-P, клавиатура отсутствует последовательная и внутренняя последовательная последовательная

 

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

Установка более высокой скорости порта

По умолчанию, последовательный порт настроен так: 9600 бит/с, 8 бит, без четности, 1 стоп бит. Если вам необходимо изменить скорость, потребуется перекомпиляция как минимум загрузочных блоков. Добавьте следующую строку к /etc/make.conf и скомпилируйте новый загрузочный блок:

BOOT_COMCONSOLE_SPEED=19200

Обратитесь к Разд. 23.6.5.2 за подробными инструкциями по сборке и установке новых загрузочных блоков.

Если последовательная консоль настраивается не путем установки параметра -h, или последовательная консоль, используемая ядром, отличается от той, что используется загрузочным блоком, потребуется добавить следующие опции к файлу настройки ядра и собрать новое ядро:

options CONSPEED=19200

Использование для консоли другого последовательного порта вместо sio0

Использование другого последовательного порта вместо sio0 для консоли потребует кое-какой перекомпиляции. Если вы по каким-либо причинам хотите использовать другой последовательный порт, перекомпилируйте загрузочный блок, загрузчик и ядро согласно приведенной ниже инструкции.

1. Получите исходные тексты ядра (глава Гл. 22)

2. Отредактируйте /etc/make.conf и установите BOOT_COMCONSOLE_PORT в соответствии с адресом порта, который вы хотите использовать (0x3F8, 0x2F8, 0x3E8 или 0x2E8). Могут быть использованы только устройства от sio0 до sio3 (от COM1 до COM4); мультипортовые последовательные карты не будут работать. Установка прерываний не требуется.

3. Создайте файл настройки ядра и добавьте соответствующие флаги для порта, который планируется использовать. Например, если вы хотите использовать для консоли sio1 (COM2):

device sio1 at isa? port IO_COM2 flags 0x10 irq 3

или

device sio1 at isa? port IO_COM2 flags 0x30 irq 3

Флаги для других последовательных устройств не устанавливайте.

4. Соберите и установите загрузочный блок и загрузчик:

# cd /sys/boot

# make clean

# make

# make install

5. Соберите и установите ядро.

6. Запишите загрузочный блок на загрузочный диск с помощью bsdlabel(8) и загрузитесь с новым ядром.

Вход в отладчик DDB с последовательной линии

Если вы хотите войти в отладчик ядра с последовательной консоли (полезно для удаленной диагностики, но опасно если вы введете неправильный BREAK на последовательном порту!), потребуется собрать ядро со следующими параметрами:

options BREAK_TO_DEBUGGER

options DDB

Получение приглашения на последовательной консоли

Хотя это не обязательно, вам может потребоваться приглашение login по последовательной линии, в дополнение к уже доступным загрузочным сообщениям и отладочной сессии ядра. Здесь описано как сделать это.

Откройте файл /etc/ttys с помощью редактора и найдите строки:

ttyd0 "/usr/libexec/getty std.9600" unknown off secure

ttyd1 "/usr/libexec/getty std.9600" unknown off secure

ttyd2 "/usr/libexec/getty std.9600" unknown off secure

ttyd3 "/usr/libexec/getty std.9600" unknown off secure

Строки от ttyd0 до ttyd3 соответствуют портам от COM1 до COM4. Измените off на on для требуемого порта. Если вы изменили скорость последовательного порта, может потребоваться изменить std.9600 для соответствия текущим настройкам, например std.19200.

Возможно, вы захотите заменить тип терминала unknown на тип реально используемого терминала.

После редактирования файла потребуется выполнить kill -HUP 1 для включения новых настроек.


Дата добавления: 2018-10-26; просмотров: 175; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!