A receita de erro de compilação do kernel para o destino 'deb-pkg' falhou

5

Eu estou compilando o kernel mais recente clonado do repositório git do Linus para um desafio. Aqui estão os passos que eu segui,
1. Ferramentas de compilação cruzada instaladas

sudo apt-get install git build-essential kernel-package fakeroot libncurses5-dev  

2. clonou o último repositório git

$ git clone https://github.com/torvalds/linux.git  

3. Copiei a configuração de compilação atual para a raiz da árvore de origem e atualizei o arquivo de configuração.

yes '' | make oldconfig  

4. make clean
5. Fiz a imagem do linux e os arquivos .deb do cabeçalho

make -j 'getconf _NPROCESSORS_ONLN' deb-pkg LOCALVERSION=-custom  

Após alguns minutos de compilação, mostra o erro

dpkg-genchanges: warning: package linux-firmware-image-4.2.0-rc3-custom listed in files list but not in control info
dpkg-genchanges: warning: package linux-headers-4.2.0-rc3-custom listed in files list but not in control info
dpkg-genchanges: warning: package linux-headers-4.3.0-rc1-eudyptula listed in files list but not in control info
dpkg-genchanges: warning: package linux-image-4.2.0-rc3-custom-dbg listed in files list but not in control info
dpkg-genchanges: warning: package linux-image-4.3.0-rc1-eudyptula listed in files list but not in control info
dpkg-genchanges: warning: package linux-image-4.2.0-rc3-custom listed in files list but not in control info
dpkg-genchanges: warning: package linux-image-4.3.0-rc1-eudyptula-dbg listed in files list but not in control info
dpkg-genchanges: warning: package linux-firmware-image-4.3.0-rc1-eudyptula listed in files list but not in control info
dpkg-genchanges: error: package linux-image-4.2.0-rc3-custom-dbg has section kernel in control file but debug in files list
scripts/package/Makefile:91: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 255
Makefile:1226: recipe for target 'deb-pkg' failed
make: *** [deb-pkg] Error 2 

Acho que ocorreu o erro na criação do pacote .deb. Eu realmente não entendo a mensagem de erro

 linux-image-4.2.0-rc3-custom-dbg has section kernel in control file but debug in files list  

O que isso realmente significa? Por favor ajude!

    
por ebin 07.10.2015 / 13:56

2 respostas

5

Primeiro, a etapa yes '' | make oldconfig é mais facilmente feita por meio de make defconfig .

Dito isto,

O que acontece é que o Makefile do kernel gera um número de arquivos dentro de um diretório debian/ que não está seguindo completamente a especificação . Combinado com uma aplicação gradual e mais rigorosa desta especificação nas ferramentas de construção ao longo dos anos, significa que um hack que costumava funcionar no passado (gerando .deb pacotes que não estão listados em debian/control , ou que estão listados mas detalhes diferem) não funcionam mais nos dias de hoje.

Pessoalmente, eu recomendo contra o método make deb-pkg de construir um pacote Debian de um kernel vanilla. Se você quiser fazer isso, um método que funciona melhor no IME é usar o pacote kernel-package que é parte do Debian:

apt install kernel-package fakeroot
cd /path/to/git/checkout
make defconfig
make-kpkg --rootcmd fakeroot kernel_image

Isto deve te dar um pacote (com o arquivo .config que você criou) que você pode instalar no seu sistema Debian.

    
por 07.10.2015 / 14:48
0

Eu estava vendo o mesmo problema que você e resolvi o problema esse patch na minha árvore :

Parece que também poderia ser resolvido fazendo

rm -f debian/files
    
por 24.11.2015 / 14:16