|
| ||||||||||||||||||
| ||||||||||||||||||
Устройства, требующие специальной настройкиНекоторые устройства требуют небольшой дополнительной настройки помимо обычных псевдонимов вида устройство-модуль.
Символьные устройства с главным номером 10: Мыши, сторожевые псы (watchdogs) и генераторы случайных чиселОбычно периферийные устройства определяются при помощи их главных номеров, например ftape имеет главный номер (major) 27. Однако, если вы взглянете в каталог /dev, и поищете там символьные устройства с главным номером 10, вы увидите там набор абсолютно разных устройств, включая:
Очевидно, что эти устройства контролируются несколькими различными модулями, а не одним. Поэтому, для настройки конфигурации kerneld для этих разнообразных устройств необходимо указать не только главное, но и дополнительное (minor) число:
Для этого вам понадобится ядро версии не ранее 1.3.82; более ранние версии не передавали дополнительное число kerneld. Таким образом, kerneld не может выяснить, какому конкретно из подобных устройств понадобился соответствующий модуль. Загрузка драйверов SCSI: Строка scsi_hostadapterДрайвера SCSI-устройств состоят из двух частей: драйвера SCSI-адаптера (например, Adaptec 1542) и драйвера конкретного SCSI-устройства, которое вы используете, например, жесткий диск, CD-ROM или стриммер. Все это может быть загружено в виде модулей. Но при этом, если вы хотите обратиться, например, к CD-ROM-у, подключенному к SCSI-адаптеру Adaptec, ядро и kerneld знает лишь то, что необходимо загрузить модуль sr_mod для поддержки SCSI CD-ROM-ов - ему не известно, к какому SCSI-контроллеру подключен этот CD-ROM, и, соответственно, не известно какой модуль загружать для поддержки SCSI-контроллера. Для разрешения этой проблемы можно добавить строку в /etc/conf.modules, в которой будет указано, который из многих доступных модулей драйверов SCSI-контроллеров надо загружать:
Это работает только с ядрами версии 1.3.82 и выше. Кроме того, это работает, если у вас только один SCSI-контроллер. Если у вас их несколько, то все немного усложняется. В общем случае, нельзя заставить kerneld загрузить драйвер SCSI-адаптера, если драйвер для другого SCSI-адаптера уже загружен - вы должны либо встроить оба драйвера в ядро (не в модули), или загружать модули вручную. Нужно помнить, что такой механизм работает, если у вас разные виды SCSI-устройств на разных SCSI-контроллерах, например, жесткие диски на одном, а CD-ROM-ы, стриммеры и прочие на другом. Когда недостаточно просто загрузить модуль: Строка post-installИногда, простой загрузки модуля недостаточно для того, чтобы все нормально работало. Например, если у вас драйвер звуковой платы собран в виде модуля, то очень часто требуется установить необходимый уровень громкости звука. Только проблема состоит в том, что установки громкости обнуляются при следующей загрузке модуля. Ниже приведен способ решения от Ben Galliart (<bgallia@luc.edu>):
Таким образом, после загрузки модуля звуковой платы, kerneld запускает команду, указанную в строке post-install sound. В результате звуковой модуль будет настроен командой /usr/local/bin/setmix -f /etc/volume.conf. Этот путь можно использовать и для других модулей, например, модуль lp можно настроить программой tunelp, добавив строку
Для того, чтобы kerneld обработал эти опции, вам необходим kerneld версии 1.3.69f или выше.
| ||||||||||||||||||
|
CITForum © 1997–2025