Gostaria de saber a diferença exata entre make-kpkg
e make deb-pkg
. Esta pergunta faz quase a mesma coisa, mas sem respostas satisfatórias. Anteriormente eu estava usando
make -j `getconf _NPROCESSORS_ONLN` deb-pkg
compilar a árvore de fontes do kernel e gerar pacotes debian de cabeçalho + imagem do kernel. Descobri que é extremamente lento, pois leva mais de uma hora para compilar no meu CPU Intel i3 de segunda geração. Então eu encontrei outro método usando make-kpkg
5-6 vezes mais rápido que o deb-pkg
método que eu usei antes. O código que eu corro
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers -j `getconf _NPROCESSORS_ONLN`
e leva apenas 10 a 15 minutos para compilar e gerar os pacotes deb. No processo de compilação, os trabalhos são divididos; _NPROCESSORS_ONLN
então, o que faz essa diferença? Desde já, obrigado.
make-kpkg
é mantido por esse escritor de script (provavelmente o pessoal do Debian) emake deb-pkg
é mantido pelos caras do kernel. O povo Debian pode saber mais.-j $(getconf blah)
vez de-j `getconf blah`
.linux-image-*.deb
elinux-headers-*.deb
etc para a distribuição, amake-kpkg
ferramenta é muito mais propensos a ser atualizado para aproveitar outros ajudantes kernel relacionados na distro (por exemplo,dkms
eupdate-initramfs
entre outros). OMakefile
deb-pkg
alvo do kernel provavelmente só será trabalhado se quebrar.bindeb-pkg
alvo.Respostas:
make-kpkg
está (sendo) aposentado, o jeito oficial do Debian émake deb-pkg
.O manual oficial do kernel Debian usa
make deb-pkg
.make-kpkg
está incluído no wheezy e jessie, mas o stretch (atual estável) o contém apenas para o powerpc .O Powerpc não é mais suportado no buster (teste) e, sem surpresa, a única ocorrência para nomes de arquivos que contêm
make-kpkg
é um arquivo de informações de preenchimento automático para zsh .Isso indicaria claramente qual dos dois é a opção preferida do Debian.
(No entanto, se você estiver testando o que funciona e o que não funciona, recompilando muito, você pode remover o "make clean"
scripts/packages/Makefile
como um primeiro passo. Afinal, até o make-kpkg tem como objetivo criar um pacote Debian a partir de um trabalho fonte e configuração do kernel, não programação e depuração do kernel.)fonte
kernel-package
ao qual pertencemmake-kpkg
foi removido dos testes em junho de 2017, mas foi novamente instável e testado no mesmo mês. Mais informações: tracker.debian.org/pkg/kernel-package . Mas eu concordo que é melhor usarmake deb-pkg
.