Onde o arquivo de configuração do kernel está armazenado?

11

Atualmente, executo o Angstrom Linux 2.6.32. Pretendo atualizar o kernel do Linux de 2.6.32 para 3.0.7. Por esse motivo, tive que configurar o kernel 3.0.7 em execução make menuconfig.

Agora, quero comparar a nova configuração do kernel com a anterior, mas não consigo encontrar o arquivo de configuração do kernel 3.0.7. Alguma ideia?

dempap
fonte

Respostas:

9

Seu novo está .configno nível superior da sua árvore de fontes do kernel. Também pode ser instalado /boot/config-3.0.7ou similar, dependendo.

derobert
fonte
Infelizmente, não há .configarquivo no /usr/src/linux-3.0.7diretório. Em /boothá apenas config-2.6.32arquivo.
dempap
@dempap ​​/usr/src/linux-3.0.7 é onde você correu make menuconfig? Isso deveria ter gerado a .config.
Derobert
1
Sugiro find -type f -name '.config'encontrá-lo, então. Definitivamente, tenho um em minhas árvores de origem do kernel, através de pelo menos 3.13.
Derobert
@dempap ​​A .configé sempre gerado no diretório em que você executou make menuconfig(ou em qualquer outro make xxxconfig). Se não estiver lá, você está procurando no diretório errado ou o excluiu.
Gilles 'SO- stop be evil'
1
@dempap ​​tente ls -Avê-lo. Os arquivos iniciados com .são tratados como ocultos (por convenção).
Derobert
11

Sempre que você executar make menuconfig, make xconfig, make XXX_defconfig, make oldconfig, make localmodconfigou qualquer um dos outros make XXXconfigalvos no kernel Linux árvore fonte, isso cria (se bem sucedida) um arquivo chamado .config. Este arquivo é usado durante a compilação do kernel e não é apagado, a menos que você o apague manualmente ou execute make mrproper.

É comum manter as árvores de origem do kernel /usr/src; se você fez a compilação /usr/src/linux-3.0.7, seu .configarquivo está em /usr/src/linux-3.0.7/.config. (Como esse é um arquivo de ponto , o lscomando não o mostra, a menos que seja executado com o -asinalizador.)

Muitas distribuições planejam copiar o .configarquivo para o pacote que contém o kernel e instalá-lo próximo ao kernel, por exemplo, /boot/config-3.0.7para corresponder /boot/vmlinuz-3.0.7. Distribuições incorporadas geralmente não fazem isso; Não sei se o Angstrom sim, e de qualquer maneira isso não se aplica se você compilou o kernel manualmente.

Às vezes, a configuração do kernel pode estar disponível no kernel em execução no /proc/config.gz. Isso requer a IKCONFIGopção de tempo de compilação.

Gilles 'SO- parar de ser mau'
fonte