Modprobe и insmod [dубликат]

Вы можете создать ярлыки, чтобы быстро изменить этот параметр:

gsettings set org.gnome.gedit.preferences.editor insert-spaces false
27
задан 5 January 2011 в 01:02

36 ответов

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

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

3
ответ дан 9 August 2018 в 01:58

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

0
ответ дан 9 August 2018 в 01:58

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
ответ дан 9 August 2018 в 01:58

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
ответ дан 14 August 2018 в 20:09

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

0
ответ дан 14 August 2018 в 20:09

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

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

3
ответ дан 14 August 2018 в 20:09

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

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