Diferença entre make-kpkg e make deb-pkg

8

Gostaria de saber a diferença exata entre make-kpkge 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-kpkg5-6 vezes mais rápido que o deb-pkgmé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_ONLNentão, o que faz essa diferença? Desde já, obrigado.

novato
fonte
2
make-kpkgé mantido por esse escritor de script (provavelmente o pessoal do Debian) e make deb-pkgé mantido pelos caras do kernel. O povo Debian pode saber mais.
Arthur2e5
1
Além disso, esses backticks no seu comando estão falhando no stackexchange. Envolva dois backticks em torno desses comandos ou use em -j $(getconf blah)vez de -j `getconf blah` .
Arthur2e5
@ Arthur2e5, correto. Além disso, quando se trata de integrar linux-image-*.debe linux-headers-*.debetc para a distribuição, a make-kpkgferramenta é muito mais propensos a ser atualizado para aproveitar outros ajudantes kernel relacionados na distro (por exemplo, dkmse update-initramfsentre outros). O Makefile deb-pkgalvo do kernel provavelmente só será trabalhado se quebrar.
cas
Aliás, o caminho mais rápido para pacotes binários de kernel é o bindeb-pkgalvo.
pevik 30/07/19

Respostas:

6

make-kpkgestá (sendo) aposentado, o jeito oficial do Debian é make deb-pkg.
O manual oficial do kernel Debian usa make deb-pkg.

make-kpkgestá 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/Makefilecomo 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.)

Wolfgang
fonte
1
O FYI kernel-packageao qual pertencem make-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 usar make deb-pkg.
pevik 11/06/19