¿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.

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 .


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


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:".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.