Nenhuma regra para tornar alvo 'include / config / auto.conf', necessário por 'include / config / kernel.release'. Pare

4

Estou trabalhando em petalinux, uma porta linux para FPGAs da Xilinx chamada Zynq. A ferramenta que estou usando é petalinux-config .

Isso abre uma GUI onde eu posso selecionar várias opções, como compactar kernel, ativar / desativar CRC, rootfs etc etc.

Após essa configuração eu tenho que construir com petalinux-build

Isso geralmente compila bem, mas algumas vezes depois de alterar algumas configurações, recebo o seguinte erro:

No rule to make target 'include/config/auto.conf', needed by 'include/config/kernel.release'.  Stop.


[root@xilinx kernel]# petalinux-build
INFO: Checking component...
INFO: Generating make files and build linux
INFO: Generating make files for the subcomponents of linux
INFO: Building linux
[INFO ] build system.dtb
[INFO ] build linux/kernel
[ERROR] make[5]: *** [silentoldconfig] Error 1
[ERROR] make[4]: *** [silentoldconfig] Error 2
[ERROR] make[3]: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/kernel.release'.  Stop.
[ERROR] make[2]: *** [sub-make] Error 2
[ERROR] make[1]: *** [/home/suheb/petalinux-v2013.10-final/Xilinx-ZC702-14.7/build/linux/kernel/xlnx-3.8/vmlinux] Error 2
ERROR: Failed to build linux

Qual é o significado desse erro?

Existem diretrizes gerais para lidar com esses erros? Eu entendo que se eu remover alguns recursos que são realmente necessários pelo sistema operacional, ele não será compilado. Mas minha ideia é tornar minha imagem o menor possível, por isso preciso remover mais e mais recursos e compilar com êxito.

Eu gostaria de entender, é este erro porque eu deselecionei alguns recursos (e estes são requeridos por alguns outros módulos) ou algum outro problema, como propriedade / permissão do usuário, etc?

    
por user2799508 22.02.2014 / 16:16

4 respostas

3

Como mencionado, você está usando o seu próprio linux personalizado, eu suponho que você execute make menuconfig para desmembrar o recurso, já que ele deixa alguns scripts. O problema não está na cadeia de ferramentas, mas em alguns pré-requisitos:

O Petalinux copia o código fonte e dá os códigos finais no diretório de construção.

O motivo pelo qual você está recebendo este erro pode ser a fonte do seu kernel. Por favor, verifique seu kernel e tente limpar o diretório executando

$>make distclean

Isso garantirá que sua fonte esteja limpa. O próximo passo deve ser a limpeza do kernel criado, localizado em build/linux/kernel . Executar

$>petalinux-build -c kernel -x distclean
$>petalinux-build -c kernel

isso provavelmente deve fazer o trabalho.

    
por 27.06.2014 / 15:48
1

What is the meaning of this error?

Literalmente, foi indicado um make de destino que não existe. Um possível motivo é que make processa include directives (que cria outros makefiles) em linha quando os encontra. Então, se o alvo é definido em um makefile que deveria ser incluído em algum ponto, mas esse ponto nunca foi alcançado, o alvo não existirá.

Para resolver isso com precisão, você pode usar make -d (que lhe dará algum rastreamento) e passar pela lógica dos makefiles. Entretanto, lembre-se de que alguns dos arquivos make são evidentemente gerados (de acordo com a saída INFO ), e a possível causa do problema é que o alvo nunca foi gerado. Isso está se metendo em um belo grave retorno ...

Existe uma pista nas duas linhas anteriores referentes a silentoldconfig . Isso indica que seu .config ainda está sendo analisado e provavelmente contém algum tipo de inconsistência que causa o problema.

Você não disse como está fazendo a configuração. O make menuconfig et. al. os sistemas idealmente impedem que tais inconsistências ocorram, mas eles não são perfeitos, particularmente no contexto de uma árvore fonte corrigida, o que presumivelmente é. Parece que você talvez esteja usando um sistema de configuração de terceiros ( petalinux-config ), e isso pode ser o que está falhando em detectar o problema.

Eu gostaria de adicionar / remover opções uma por vez para determinar qual delas aciona o problema. Se você está convencido de que não deve ser um problema, você pode denunciá-lo ao pessoal da petalinux.

    
por 22.02.2014 / 16:49
0

Eu sei que esse segmento é antigo, mas eu tive o mesmo problema e encontrei a solução em um thread de suporte da Xilinx. Você precisa executar petalinux-config e definir o (X) PetaLinux u-boot config .

Veja o seguinte link para o suporte da Xilinx: AR # 66296

    
por 12.08.2016 / 16:05
-1
  1. Instalar o autoconf
  2. make syncconfig
  3. make
por 22.11.2018 / 08:16

Tags