Como configurar um kernel Linux baseado nos módulos atualmente em uso?

12

Estou disposto a construir um kernel mínimo com apenas as coisas necessárias para minha máquina; então comecei compilando o kernel do zero, usando a configuração padrão e adicionando coisas que eu sei com certeza (por exemplo, placa Ethernet, placa WiFi, ...).

Mas há várias outras coisas que não são tão fáceis de se conhecer (por exemplo: o timer do watchdog), então me deparei com AutoKernConf que supostamente detecta o hardware da máquina e gera um arquivo de configuração do kernel com as configurações dos dispositivos encontrados.

O problema é que ele continha várias configurações repetidas e até mesmo algumas que eu não tenho (estou usando um laptop Dell e uma das coisas que "encontrei" era uma espécie de Toshiba).

Então acabei criando um kernel com a configuração que saiu do comando make allmodconfig , que é um kernel com a maioria das coisas compiladas como módulos.

Inicializando nesse kernel e executando lsmod eu posso ver todos os módulos do kernel em uso (aqueles realmente necessários) e eu gostaria de saber se existe uma ferramenta ou alguma maneira de analisar essa lista e converter para o arquivo de configuração do kernel correspondente.

Ou como mapear cada um com as opções apropriadas no kernel para que eu possa configurá-las manualmente.

Muito obrigado pelo seu tempo.

    
por Carla 29.05.2010 / 03:36

1 resposta

15

Se você estiver usando o Linux 2.6.32 e superior, você pode querer verificar o "localmodconfig" make target. Ele faz praticamente o que você pergunta - determina quais módulos você está executando e gera um .config, certificando-se de que esses módulos sejam criados. O alvo "localyesconfig" irá compilar esses módulos estaticamente no kernel ao invés de criar módulos.

Mais informações disponíveis aqui: Configuração fácil do kernel local .

    
por 29.05.2010 / 04:08

Tags