O que está criando o arquivo / autoconf.h?

9

Estamos tentando criar um software que exija a fonte do kernel, não apenas os cabeçalhos. Então, baixamos a fonte do kernel através do centos src rpm.

No entanto, o autoconf.h está ausente.

Nós tentamos

  • Coloque o .config no lugar (copiou o arquivo de / boot).

  • corre make oldconfig

Então, o que está criando o arquivo autoconf.h? Nós realmente temos que construir o kernel?

Stefan
fonte
Caso alguém esteja usando o Kconfig como arquitetura de construção para um projeto não relacionado ao Linux, a resposta para esta pergunta é um pouco diferente: para gerar o autoconf.h você precisa ./kconfig-frontends/frontends/conf/conf --silentoldconfig Kconfig
Étienne

Respostas:

12

O arquivo include/generated/autoconf.hé gerado na make prepareetapa Se você estiver tentando construir um módulo do kernel, também precisará da make scriptsetapa:

gunzip < /proc/config.gz > .config
make oldconfig
make prepare
make scripts

Geralmente o kernel é acompanhado de um pacote de cabeçalhos, você já tentou instalá-lo primeiro? Para o CentOS, tente instalar o kernel-develpacote. Detalhes podem ser encontrados em http://wiki.centos.org/HowTos/I_need_the_Kernel_Source

Lekensteyn
fonte
Obrigado! Sim, tínhamos o pacote de cabeçalhos instalado, mas por alguns motivos o script de configuração estava exigindo a fonte completa. Usamos a página wiki que você vinculou.
Stefan
Apenas para completar: no CentOS, a configuração do kernel está localizada /boot(compare com uname -rpara selecionar a correta).
Stefan
1
@Stefan Em algumas distros (como o Arch Linux), ele está localizado em /lib/modules/$(uname -r)/build/.config( buildgeralmente links simbólicos para /usr/src/linux-$(uname -r)), outros usam /boot/config-$(uname -r)(como Ubuntu, Debian e aparentemente CentOS). Se ativado durante a compilação, também estará disponível em /proc/config.gz.
precisa saber é o seguinte
0

O arquivo autoconf.hé gerado automaticamente durante o processo de construção a partir do .confarquivo. Muitos arquivos de origem do kernel usam autoconf.h.

Behnam Dezfouli
fonte
1
Bem-vindo à falha do servidor! Preferimos respostas adicionais para abordar a questão de uma maneira que as respostas anteriores não o fizeram, ou fornecer uma solução melhor.
Falcon Momot 31/08/2015