Какая разница между команды modprobe и insmod?

См. https://wiki.ubuntu.com/DebuggingHardwareDetection

https://wiki.ubuntu.com/DebuggingHardwareDetection обычно является хорошей отправной точкой, если вы хотите знать, какая информация полезна для отчета об ошибке.

27
задан 5 January 2011 в 01:02

40 ответов

modprobe читает модули из / lib / modules / $ (uname -r) /modules.dep.bin (или без .bin , если другой файл недоступен). Из этого же файла загружаются зависимости.

modprobe принимает имя файла .ko в / lib / modules / $ ( uname -r) (например, nvidia-current для файла dkms / nvidia-current.ko ) и псевдонимов ( modules.alias.bin [ ! d8]). Также признаны Builtins ( modules.alias.bin ), но поскольку эти модули загружаются по умолчанию, нет моментов в modprobing этого типа модулей.

insmod с другой стороны принимает пути к файлам. Модуль не должен находиться в / lib / modules / $ (uname -r) , но зависимости не загружаются автоматически. Это нижняя программа, используемая modprobe для загрузки модулей.

Другими программами, связанными с модулями, являются rmmod и modinfo .

rmmod удаляет имя ядра на основе имени из / proc / modules . Это имя необязательно должно быть таким же, как тот, который был передан modprobe (для файла nvidia-current это nvidia , например ).

modinfo принимает имя файла или имя файла без суффикса .ko в / lib / modules / $ (uname -r) .

33
ответ дан 6 August 2018 в 04:11

modprobe - это интеллектуальная команда, она ищет зависимости при загрузке модуля. Предположим, если я загрузил модуль, который имеет символы, определенные в каком-либо другом модуле (этот путь модуля указан внутри основного модуля). Таким образом, modprobe загружает основной модуль и зависимый модуль.

Но если используется insmod , он не будет загружать зависимость, и, следовательно, будут давать ошибки компиляции, такие как Неразрешенные символы . В этом случае мы должны вручную искать зависимый модуль и загружать их для устранения ошибок.

3
ответ дан 7 August 2018 в 22:10

Утилиту modprobe стоит упомянуть. modprobe, как insmod, загружает модуль в ядро. Он отличается тем, что он будет смотреть на модуль, который будет загружен, чтобы увидеть, ссылается ли он на какие-либо символы, которые в настоящее время не определены в ядре. Если такие ссылки найдены, modprobe ищет другие модули в текущем пути поиска модуля, которые определяют соответствующие символы. Когда modprobe находит эти модули (которые необходимы загружаемому модулю), он также загружает их в ядро. Если вы используете insmod в этой ситуации, команда выходит из строя с сообщением «неразрешенные символы», оставшимся в системном файле журнала

0
ответ дан 7 August 2018 в 22:10

modprobe читает модули из / lib / modules / $ (uname -r) /modules.dep.bin (или без .bin , если другой файл недоступен). Из этого же файла загружаются зависимости.

modprobe принимает имя файла .ko в / lib / modules / $ ( uname -r) (например, nvidia-current для файла dkms / nvidia-current.ko ) и псевдонимов ( modules.alias.bin [ ! d8]). Также признаны Builtins ( modules.alias.bin ), но поскольку эти модули загружаются по умолчанию, нет моментов в modprobing этого типа модулей.

insmod с другой стороны принимает пути к файлам. Модуль не должен находиться в / lib / modules / $ (uname -r) , но зависимости не загружаются автоматически. Это нижняя программа, используемая modprobe для загрузки модулей.

Другими программами, связанными с модулями, являются rmmod и modinfo .

rmmod удаляет имя ядра на основе имени из / proc / modules . Это имя необязательно должно быть таким же, как тот, который был передан modprobe (для файла nvidia-current это nvidia , например ).

modinfo принимает имя файла или имя файла без суффикса .ko в / lib / modules / $ (uname -r) .

33
ответ дан 7 August 2018 в 22:10

Утилиту modprobe стоит упомянуть. modprobe, как insmod, загружает модуль в ядро. Он отличается тем, что он будет смотреть на модуль, который будет загружен, чтобы увидеть, ссылается ли он на какие-либо символы, которые в настоящее время не определены в ядре. Если такие ссылки найдены, modprobe ищет другие модули в текущем пути поиска модуля, которые определяют соответствующие символы. Когда modprobe находит эти модули (которые необходимы загружаемому модулю), он также загружает их в ядро. Если вы используете insmod в этой ситуации, команда выходит из строя с сообщением «неразрешенные символы», оставшимся в системном файле журнала

0
ответ дан 10 August 2018 в 10:24

modprobe - это интеллектуальная команда, она ищет зависимости при загрузке модуля. Предположим, если я загрузил модуль, который имеет символы, определенные в каком-либо другом модуле (этот путь модуля указан внутри основного модуля). Таким образом, modprobe загружает основной модуль и зависимый модуль.

Но если используется insmod , он не будет загружать зависимость, и, следовательно, будут давать ошибки компиляции, такие как Неразрешенные символы . В этом случае мы должны вручную искать зависимый модуль и загружать их для устранения ошибок.

3
ответ дан 10 August 2018 в 10:24

modprobe читает модули из / lib / modules / $ (uname -r) /modules.dep.bin (или без .bin , если другой файл недоступен). Из этого же файла загружаются зависимости.

modprobe принимает имя файла .ko в / lib / modules / $ ( uname -r) (например, nvidia-current для файла dkms / nvidia-current.ko ) и псевдонимов ( modules.alias.bin [ ! d8]). Также признаны Builtins ( modules.alias.bin ), но поскольку эти модули загружаются по умолчанию, нет моментов в modprobing этого типа модулей.

insmod с другой стороны принимает пути к файлам. Модуль не должен находиться в / lib / modules / $ (uname -r) , но зависимости не загружаются автоматически. Это нижняя программа, используемая modprobe для загрузки модулей.

Другими программами, связанными с модулями, являются rmmod и modinfo .

rmmod удаляет имя ядра на основе имени из / proc / modules . Это имя необязательно должно быть таким же, как тот, который был передан modprobe (для файла nvidia-current это nvidia , например ).

modinfo принимает имя файла или имя файла без суффикса .ko в / lib / modules / $ (uname -r) .

33
ответ дан 10 August 2018 в 10:24

modprobe - это интеллектуальная команда, она ищет зависимости при загрузке модуля. Предположим, если я загрузил модуль, который имеет символы, определенные в каком-либо другом модуле (этот путь модуля указан внутри основного модуля). Таким образом, modprobe загружает основной модуль и зависимый модуль.

Но если используется insmod , он не будет загружать зависимость, и, следовательно, будут давать ошибки компиляции, такие как Неразрешенные символы . В этом случае мы должны вручную искать зависимый модуль и загружать их для устранения ошибок.

3
ответ дан 13 August 2018 в 16:49

modprobe читает модули из / lib / modules / $ (uname -r) /modules.dep.bin (или без .bin , если другой файл недоступен). Из этого же файла загружаются зависимости.

modprobe принимает имя файла .ko в / lib / modules / $ ( uname -r) (например, nvidia-current для файла dkms / nvidia-current.ko ) и псевдонимов ( modules.alias.bin [ ! d8]). Также признаны Builtins ( modules.alias.bin ), но поскольку эти модули загружаются по умолчанию, нет моментов в modprobing этого типа модулей.

insmod с другой стороны принимает пути к файлам. Модуль не должен находиться в / lib / modules / $ (uname -r) , но зависимости не загружаются автоматически. Это нижняя программа, используемая modprobe для загрузки модулей.

Другими программами, связанными с модулями, являются rmmod и modinfo .

rmmod удаляет имя ядра на основе имени из / proc / modules . Это имя необязательно должно быть таким же, как тот, который был передан modprobe (для файла nvidia-current это nvidia , например ).

modinfo принимает имя файла или имя файла без суффикса .ko в / lib / modules / $ (uname -r) .

33
ответ дан 13 August 2018 в 16:49

Утилиту modprobe стоит упомянуть. modprobe, как insmod, загружает модуль в ядро. Он отличается тем, что он будет смотреть на модуль, который будет загружен, чтобы увидеть, ссылается ли он на какие-либо символы, которые в настоящее время не определены в ядре. Если такие ссылки найдены, modprobe ищет другие модули в текущем пути поиска модуля, которые определяют соответствующие символы. Когда modprobe находит эти модули (которые необходимы загружаемому модулю), он также загружает их в ядро. Если вы используете insmod в этой ситуации, команда выходит из строя с сообщением «неразрешенные символы», оставшимся в системном файле журнала

0
ответ дан 13 August 2018 в 16:49

Другие вопросы по тегам:

Похожие вопросы: