Diferencia entre make-kpkg y make deb-pkg

8

Me gustaría saber la diferencia exacta entre make-kpkgy make deb-pkg. Esta pregunta hace casi lo mismo pero sin respuestas satisfactorias. Anteriormente estaba usando

make -j `getconf _NPROCESSORS_ONLN` deb-pkg

para compilar el árbol de fuentes del núcleo y generar paquetes debian de cabecera + imagen del núcleo. Descubrí que es extremadamente lento ya que toma más de 1 hora compilar en mi CPU Intel i3 de segunda generación. Luego encontré otro método make-kpkgque es 5-6 veces más rápido que el deb-pkgmétodo que usé antes. El código que ejecuto

fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers  -j `getconf _NPROCESSORS_ONLN`

y solo toma entre 10 y 15 minutos compilar y generar los paquetes deb. En ambos procesos de compilación, los trabajos se dividen, _NPROCESSORS_ONLNentonces, ¿qué hace esta diferencia? Gracias por adelantado.

novato
fuente
2
make-kpkges mantenido por ese escritor de guiones (muy probablemente esas personas de Debian), y make deb-pkges mantenido por los chicos del núcleo. La gente de Debian puede saber más.
Arthur2e5
1
Además, esos backticks en su comando están fallando en stackexchange. Envuelva dos comillas alrededor de esos comandos o use en -j $(getconf blah)lugar de -j `getconf blah` .
Arthur2e5
@ Arthur2e5, correcto. Además, cuando se trata de integrar linux-image-*.deby linux-headers-*.debetc en la distribución, la make-kpkgherramienta es mucho más probable que se actualiza para aprovechar otros ayudantes relacionados con el núcleo de la distribución (por ejemplo, dkmsy update-initramfsentre otros). El Makefile deb-pkgobjetivo del núcleo probablemente solo se trabaje si se rompe.
cas
Por cierto, la forma más rápida para el paquete de kernel solo binario es bindeb-pkgtarget.
pevik

Respuestas:

6

make-kpkgestá (siendo) retirado, la forma oficial de Debian es make deb-pkg. Utiliza el manual
oficial del núcleo de Debianmake deb-pkg .

make-kpkgestá incluido en wheezy y jessie pero stretch (actual estable) solo lo contiene para powerpc .

Powerpc ya no se admite en buster (pruebas) y, como era de esperar, el único éxito para los nombres de archivo que contienen make-kpkges un archivo de información de autocompletado para zsh .

Eso indicaría claramente cuál de las dos es la opción preferida de Debian.

(Sin embargo, si está probando qué funciona y qué no, compilando mucho, puede querer eliminar el "make clean" scripts/packages/Makefilecomo primer paso. Después de todo, incluso make-kpkg está destinado a crear un paquete Debian a partir de un trabajo fuente y configuración del núcleo, no programación y depuración del núcleo).

Wolfgang
fuente
1
El FYI kernel-packageal que pertenece make-kpkg se eliminó de las pruebas en junio de 2017, pero se agregó nuevamente a inestabilidad y pruebas el mismo mes. Más información: tracker.debian.org/pkg/kernel-package . Pero estoy de acuerdo en que es mejor usarlo make deb-pkg.
pevik