¿Cómo puedo saber / enumerar las opciones disponibles para los módulos del kernel?

23

Como la pregunta lo dice todo, me gustaría elaborar con un ejemplo:

i915.i915_enable_rc6=1

Esta es una opción para el módulo i915 o el controlador de video Intel. Entonces, ¿hay alguna manera de saber o enumerar algo como i915_enable_rc6una opción para la i915línea de comandos de Linux?

Espero ser claro con la pregunta?

Editar: me refería a i915 solo por ejemplo y nada más. modinfoparece ser el comando que estaba buscando.

sagarchalise
fuente

Respuestas:

21

Modinfo lo hace:

modinfo i915 | grep '^parm:'

Para los módulos de código abierto, la forma más confiable es mirar el código fuente. No necesita ser un desarrollador de kernel.

Ver fuente de i915 .

Michał Šrajer
fuente
Si no hay una sección llamada parmen la modinfosalida, ¿eso significa que no hay opciones para configurar los módulos?
sagarchalise
Principalmente significa que el autor quería mantenerlo como un parámetro no visible por alguna razón. Ver publicación actualizada.
Michał Šrajer
11

Puede encontrar todos los parámetros del kernel i915 aplicables para su tarjeta utilizando un comando como

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

o

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

(gracias @arrange)

En mi caso, potencialmente puedo usar:

/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

Si no se identifican parámetros, entonces esa es una declaración verdadera, o el kernel está cargando un módulo de kernel diferente del que esperaba:

 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)

En el seguimiento anterior puede ver en la línea de configuración "driver = i915" que el núcleo ve la tarjeta de video y ha cargado el módulo i915.

fuente

fossfreedom
fuente
1
+1. Yo acababa de simplificar el comando parasudo grep . /sys/module/i915/parameters/*
organizar
Me refería a i915porque se usa principalmente. Pero la información de la ruta era algo que no sabía, así que si no hay una parameterscarpeta en el /sys/module/{module_name}/¿Eso significa que el módulo específico no tiene opciones para ajustar?
sagarchalise
@sagarchalise - he actualizado con una explicación
fossfreedom
6

Tal vez esta sea una opción más nueva de modinfo , pero modinfo admite solo una lista de los parámetros:

$ modinfo -p i915

o

$ modinfo --parameters i915

Nota: el $signo es solo la pantalla de solicitud. Muestra que el comando se puede ejecutar como usuario no root y sin sudo.

También es posible verificar los parámetros actuales de un módulo ya cargado utilizando systool :

systooles parte del paquete sysfsutils. Instálalo con este comando

sudo apt-get install sysfsutils

Entonces úsalo de esta manera

$ systool -v -m i915

En el resultado de este comando, consulte la sección "Parámetros:".

Huygens
fuente