Me gustaría saber la diferencia exacta entre make-kpkg
y 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-kpkg
que es 5-6 veces más rápido que el deb-pkg
mé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_ONLN
entonces, ¿qué hace esta diferencia? Gracias por adelantado.
make-kpkg
es mantenido por ese escritor de guiones (muy probablemente esas personas de Debian), ymake deb-pkg
es mantenido por los chicos del núcleo. La gente de Debian puede saber más.-j $(getconf blah)
lugar de-j `getconf blah`
.linux-image-*.deb
ylinux-headers-*.deb
etc en la distribución, lamake-kpkg
herramienta es mucho más probable que se actualiza para aprovechar otros ayudantes relacionados con el núcleo de la distribución (por ejemplo,dkms
yupdate-initramfs
entre otros). ElMakefile
deb-pkg
objetivo del núcleo probablemente solo se trabaje si se rompe.bindeb-pkg
target.Respuestas:
make-kpkg
está (siendo) retirado, la forma oficial de Debian esmake deb-pkg
. Utiliza el manualoficial del núcleo de Debian
make deb-pkg
.make-kpkg
está 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-kpkg
es 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/Makefile
como 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).fuente
kernel-package
al que pertenecemake-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 usarlomake deb-pkg
.