7.5 Хинты устройств во FreeBSD


Текст предоставилTom Rhodes.

Note: Эта функция присутствует только во FreeBSD 5.0 и последующих версиях, но не в более ранних.

Во время начального запуска системы загрузчик loader(8) производит чтение файла device.hints(5). В этом файле хранится необходимая для загрузки ядра информация, задаваемая в виде переменных, которую иногда называют хинтами для устройств (``device hints''). Эти ``хинты устройств'' используются драйверами устройств для их конфигурации.

Хинты для устройств могут быть также заданы в приглашении начального загрузчика Стадии 3. Переменные могут быть добавлены при помощи команды set, удалены посредством unset и просмотрены командой show. В этот момент могут быть также переопределены переменные, заданные в файле /boot/device.hints. Хинты для устройств, введённые в начальном загрузчике, не сохраняются, и при следующей перезагрузке будут утеряны.

После загрузки системы для выдачи значений всех переменных можно воспользоваться командой kenv(1).

Синтаксически в файле /boot/device.hints в каждой строке определяется по одной переменной, в качестве метки начала комментария используется стандартный символ ``#''. Строки строятся следующим образом:
hint.driver.unit.keyword="value"

Синтаксис для начального загрузчика Стадии 3 таков:
set hint.driver.unit.keyword=value

driver определяет имя драйвера устройства, unit соответствует порядковому номеру модуля устройства, а keyword является ключевым словом хинта. В качестве ключевых слов могут применяться следующие опции:

at: задаёт шину, к которой подключено устройство.

port: задаёт начальный адрес используемого диапазона ввода/вывода (I/O).

irq: задаёт используемый номер запроса на прерывание.

drq: задаёт номер канала DMA.

maddr: задаёт физический адрес памяти, занимаемый устройством.

flags: устанавливает различные битовые флаги для устройства.

disabled: если установлено в значение ``1'', то устройство не используется.

Драйверы устройств могут поддерживать (и даже требовать) другие хинты, здесь не перечисленные, поэтому рекомендуется просматривать справочные страницы по этим драйверам. Для получения дополнительной информации обратитесь к страницам справки по device.hints(5), kenv(1), loader.conf(5) и loader(8).

Обновлено: 12.03.2015