¿Cómo configurar un kernel de Linux basado en los módulos actualmente en uso?

15

Estoy dispuesto a construir un kernel mínimo con solo las cosas necesarias para mi máquina; así que comencé compilando el núcleo desde cero, usando la configuración predeterminada y agregando cosas que sé con certeza que tengo (es decir: tarjeta Ethernet, tarjeta WiFi, ...).

Pero hay varias otras cosas que no son tan fáciles de conocer (es decir, el temporizador de vigilancia), así que me encontré con AutoKernConf que supuestamente detecta el hardware de la máquina y genera un archivo de configuración del núcleo con la configuración de los dispositivos encontrados.

El problema es que contenía varias configuraciones repetidas e incluso algunas que no tengo (estoy usando una computadora portátil Dell y una de las cosas que "encontró" era algo así como una Toshiba).

Así que terminé construyendo un kernel con la configuración que salió del make allmodconfigcomando, que es un kernel con la mayoría de las cosas compiladas como módulos.

Al iniciar ese núcleo y ejecutarlo lsmod, puedo ver todos los módulos del núcleo en uso (los que realmente se necesitan) y me gustaría saber si hay una herramienta o alguna forma de analizar esa lista y convertirla a la configuración del núcleo correspondiente archivo.

O cómo mapear cada uno con las opciones apropiadas en el kernel para que pueda configurarlos manualmente.

Muchas gracias por tu tiempo.

Carla
fuente

Respuestas:

19

Si está utilizando Linux 2.6.32 y superior, puede consultar el objetivo de creación "localmodconfig". Hace más o menos lo que pides: determina qué módulos tienes en ejecución y genera un .config para asegurarte de que esos módulos estén construidos. El objetivo "localyesconfig" compilará esos módulos estáticamente en el núcleo en lugar de crear módulos.

Más información disponible aquí: Configuración de kernel local fácil .

Samat Jain
fuente
Muchas gracias, estaba usando una variante 2.6.33 para poder usar ese objetivo.
Carla