Как я могу узнать / перечислить доступные опции для модулей ядра?

23

Поскольку вопрос говорит сам за себя, я бы хотел привести пример:

i915.i915_enable_rc6=1

Это опция для модуля i915 или видеодрайвера Intel. Так есть ли способ узнать или перечислить что-то вроде i915_enable_rc6опции для i915командной строки Linux?

Надеюсь у меня с вопросом понятно?

Изменить: я имел в виду i915 только для примера и ничего больше. modinfoкажется, команда, которую я искал.

sagarchalise
источник

Ответы:

21

modinfo делает это:

modinfo i915 | grep '^parm:'

Для модулей с открытым исходным кодом самый надежный способ - посмотреть на источник. Вам не нужно быть разработчиком ядра.

См. Источник для i915 .

Михал Шрайер
источник
Если parmв modinfoвыходных данных нет раздела , означающего, что нет вариантов для настройки модулей?
sagarchalise
В основном это означает, что автор почему-то хотел оставить его как невидимый параметр. Смотрите обновленный пост.
Михал Шрайер
11

Вы можете найти все применимые параметры ядра i915, применимые к вашей карте, с помощью такой команды, как

sudo grep -H '' /sys/module/i915/parameters/*

или

sudo grep . /sys/module/i915/parameters/*

(спасибо @arrange)

В моем случае я могу потенциально использовать:

/sys/module/i915/parameters/fbpercrtc:0
/sys/module/i915/parameters/i915_enable_rc6:1
/sys/module/i915/parameters/lvds_downclock:1
/sys/module/i915/parameters/lvds_use_ssc:1
/sys/module/i915/parameters/modeset:-1
/sys/module/i915/parameters/powersave:1
/sys/module/i915/parameters/reset:Y
/sys/module/i915/parameters/semaphores:0

Если параметры не определены, то это либо истинное утверждение, либо ядро ​​загружает модуль ядра, отличный от ожидаемого:

 sudo lshw -c display

  *-display               
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 18
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:41 memory:90000000-903fffff memory:80000000-8fffffff ioport:3050(size=8)

В приведенной выше трассировке вы можете увидеть в строке конфигурации «driver = i915», что ядро ​​видит видеокарту и загрузило модуль i915.

источник

свобода ископаемых
источник
1
+1. Я бы просто упростил командуsudo grep . /sys/module/i915/parameters/*
организовать
Я имел в виду, i915потому что его в основном использовали. Но информация о пути была чем-то, чего я не знал, поэтому, если в parametersпапке нет папки /sys/module/{module_name}/, означает ли это, что конкретный модуль не имеет параметров для настройки?
sagarchalise
@sagarchalise - обновил с объяснением
fossfreedom
6

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

$ modinfo -p i915

или

$ modinfo --parameters i915

Примечание: $знак - это просто подсказка. Это показывает, что команда может быть запущена как пользователь без полномочий root и без sudo.

Также можно проверить текущие параметры уже загруженных модулей с помощью systool :

systoolявляется частью пакета sysfsutils. Установите его с помощью этой команды

sudo apt-get install sysfsutils

Тогда используйте это так

$ systool -v -m i915

В выводе этой команды проверьте раздел «Параметры:».

Гюйгенс
источник