Текст предоставил Tom Rhodes.
Замечание: Эта функция присутствует только во 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).