LINUX.ORG.RU

История изменений

Исправление iliyap, (текущая версия) :

Это булшит, а не ответ. Драйвер шины ничего не дёргает. Он перечисляет устройства на шине и создаёт эти устройства. При создании устройства ядро создаёт его представление в sysfs и генерирует uevent. Демон udev ловит этот uevent, получает из sysfs атрибут устройства modalias, вызывает modprobe с значением этого атрибута в качестве аргумента. Modprobe лезет в файл /lib/modules/kver/kernel/modules.alias ищет в нем пару этот алиас и имя модуля, загружает этот модуль в ядро. Модуль регистрирует драйвер, драйвер находит существующие устройства, которые ещё никаким драйвером не обслуживаются, подходящие этому драйверу, и привязывается к этим устройствам. В принципе любой драйвер, неважно вкомпилированный в образ ядра или в модуль, можно отвязать от устройства вручную.

Так что правильный способ указать модуль, содержащий драйвер устройства, это modules.alias.

Исходная версия iliyap, :

Это булшит, а не ответ. Драйвер шины ничего не дёргает. Он перечисляет устройства на шине и создаёт эти устройства. При создании устройства ядро создаёт его представление в sysfs и генерирует uevent. Демон udev ловит этот uevent, получает из sysfs атрибут устройства modalias, вызывает modprobe с значением этого атрибута в качестве аргумента. Modprobe лезет в файл /lib/modules/kver/kernel/modprobe.alias ищет в нем пару этот алиас и имя модуля, загружает этот модуль в ядро. Модуль регистрирует драйвер, драйвер находит существующие устройства, которые ещё никаким драйвером не обслуживаются, подходящие этому драйверу, и привязывается к этим устройствам. В принципе любой драйвер, неважно вкомпилированный в образ ядра или в модуль, можно отвязать от устройства вручную.