modprobe
modprobe
— это программа Linux, первоначально написанная Расти Расселом и используемая для добавления загружаемого модуля ядра в ядро Linux или для удаления загружаемого модуля ядра из ядра. Обычно он используется косвенно: udev полагается на modprobe для загрузки драйверов для автоматически обнаруженного оборудования. [ нужна ссылка ]
Modprobe распространяется в составе программного пакета «kmod». [1] (поддерживается Лукасом Де Марчи и другими). Ранее он был разработан как:
- "инструменты-модули", [2] для ядра Linux версии 2.6 и новее (поддерживается Джоном Мастерсом и другими)
- "модутилы" [3] для использования с версиями Linux 2.2.x и 2.4.x. .
Операция
[ редактировать ]The Программа modprobe предлагает более полнофункциональные функции « швейцарского армейского ножа », чем более базовые инсмод и Утилиты rmmod со следующими преимуществами:
- Возможность принимать более интуитивные решения о том, какие модули загружать.
- осведомленность о зависимостях модулей , чтобы при запросе на загрузку модуля modprobe сначала добавляет другие необходимые модули
- разрешение рекурсивных зависимостей модулей по мере необходимости
При вызове без переключателей программа по умолчанию добавляет/вставляет/устанавливает указанный модуль в ядро. root Для этих изменений обычно требуются права .
Любые аргументы, появляющиеся после имени модуля, передаются ядру (в дополнение к любым параметрам, перечисленным в файле конфигурации).
В некоторых версиях modprobe файл конфигурации называется modprobe.conf, а в других его эквивалентом является набор файлов с именем <modulename> в каталоге /etc/modprobe.d.
modprobe просматривает только стандартные каталоги модулей, для установки модулей из рабочего каталога по-прежнему требуется insmod. Пользователь также может сделать символическую ссылку модуля на стандартный путь, чтобы depmod нашел и загрузил его, как любой другой установленный модуль.
Функции
[ редактировать ]The Программа modprobe также имеет больше возможностей настройки, чем другие подобные утилиты. Можно определить псевдонимы модулей, позволяющие осуществлять автоматическую загрузку модулей. Когда ядру требуется модуль, оно фактически запускает modprobe для его запроса; однако ядро имеет описание только некоторых свойств модуля (например, основной номер устройства или номер сетевого протокола ), и modprobe выполняет работу по преобразованию этого в фактическое имя модуля через псевдонимы.
Эта программа также имеет возможность запускать программы до или после загрузки или выгрузки данного модуля; например, настройка микшера сразу после загрузки модуля звуковой карты или загрузка прошивки на устройство непосредственно перед его включением. Хотя эти действия должны быть реализованы внешними программами, modprobe заботится о синхронизации их выполнения с загрузкой/выгрузкой модуля.
Черный список
[ редактировать ]Бывают случаи, когда два или более модулей поддерживают одни и те же устройства или модуль недействительно заявляет о поддержке устройства: ключевое слово черного списка указывает, что все внутренние псевдонимы конкретного модуля следует игнорировать. [4]
Есть несколько способов внести модуль в черный список , и в зависимости от метода загрузки это зависит от того, где это настроено.
Есть два способа внести модуль в черный список с помощью modprobe, используя систему modprobe.conf. Первый — использовать систему черного списка в /etc/modprobe.d/. Можно использовать любое имя файла, заканчивающееся на .conf:
cat /etc/modprobe.d/blacklist.conf blacklist ieee1394 blacklist ohci1394 blacklist eth1394 blacklist sbp2
Примитив установки имеет наивысший приоритет в файле конфигурации и будет использоваться вместо описанного выше метода внесения в черный список, требуя второго метода:
cat /etc/modprobe.d/ieee1394.conf install ieee1394 /bin/true install ohci1394 /bin/true install eth1394 /bin/true install sbp2 /bin/true
Альтернативно вы можете изменить /etc/modprobe.conf:
alias sub_module /dev/null alias module_main /dev/null options module_main needed_option=0
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «kernel/kmod/kmod.git — kmod — управление модулями» .
- ^ «Индекс /Pub/Linux/Utils/Kernel/Module-init-tools» . Архивировано из оригинала 9 июня 2008 г. Проверено 22 сентября 2008 г.
- ^ «Индекс /Pub/Linux/Utils/Kernel/Modutils» . Архивировано из оригинала 23 февраля 2009 г. Проверено 22 сентября 2008 г.
- ^ modprobe.conf(5) — справочная страница Linux