Unterschied zwischen make-kpkg und make deb-pkg

8

Ich würde gerne den genauen Unterschied zwischen make-kpkgund kennen make deb-pkg. Diese Frage stellt fast das Gleiche, aber ohne zufriedenstellende Antworten. Zuvor habe ich verwendet

make -j `getconf _NPROCESSORS_ONLN` deb-pkg

Kompilieren des Kernel-Quellbaums und Generieren von Debian-Paketen für Header + Kernel-Image. Ich fand, dass es extrem langsam ist, da das Kompilieren auf meiner Intel i3-CPU der 2. Generation mehr als 1 Stunde dauert. Dann habe ich eine andere Methode gefunden, make-kpkgdie 5-6 mal schneller ist als die deb-pkgMethode, die ich zuvor verwendet habe. Der Code, den ich ausführe

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

Das Kompilieren und Generieren der Deb-Pakete dauert nur 10 bis 15 Minuten. In beiden Kompilierungsprozessen werden Jobs aufgeteilt, _NPROCESSORS_ONLNwas macht dann diesen Unterschied aus? Danke im Voraus.

Neuling
quelle
2
make-kpkgwird von diesem Drehbuchautor (höchstwahrscheinlich von diesen Debianern) und make deb-pkgvon den Kernel- Leuten gepflegt. Die Debianer wissen vielleicht mehr.
Arthur2e5
1
Darüber hinaus schlagen diese Backticks in Ihrem Befehl beim Stapelaustausch fehl. Umschließen Sie diese Befehle entweder mit zwei Backticks oder verwenden Sie -j $(getconf blah)stattdessen -j `getconf blah` .
Arthur2e5
@ Arthur2e5, richtig. Auch wenn es um die Integration kommt linux-image-*.debund linux-headers-*.debetc in die Verteilung, das make-kpkgist Werkzeug viel wahrscheinlicher aktualisiert werden die Vorteile anderer Kernel im Zusammenhang Helfer nehmen in der Distribution (zB dkmsund update-initramfsund andere). Das Kernel- Makefile deb-pkgZiel wird wahrscheinlich nur bearbeitet, wenn es kaputt geht.
Cas
Übrigens ist der bindeb-pkgZiel der schnellste Weg für ein Kernelpaket, das nur binär ist .
Pevik

Antworten:

6

make-kpkgist (im Ruhestand), der offizielle Debian-Weg ist make deb-pkg.
Das offizielle Debian-Kernel-Handbuch verwendet make deb-pkg.

make-kpkgist in Wheezy und Jessie enthalten, aber Stretch (derzeit stabil) enthält es nur für PowerPC .

Powerpc wird in Buster (Test) nicht mehr unterstützt, und es überrascht nicht, dass der einzige Treffer für Dateinamen, die enthalten, make-kpkgeine Info-Datei zur automatischen Vervollständigung für zsh ist .

Dies würde deutlich machen, welche von beiden die bevorzugte Option von Debian ist.

(Wenn Sie jedoch testen, was funktioniert und was nicht, und viel neu kompilieren, möchten Sie möglicherweise scripts/packages/Makefileals erstes Schritt das "make clean" entfernen . Schließlich zielt sogar make-kpkg darauf ab, ein Debian-Paket aus einem funktionierenden zu erstellen Kernel-Quelle und -Konfiguration, nicht Kernel-Programmierung und Debugging.)

Wolfgang
quelle
1
Zu Ihrer Information, kernel-packagezu denen gehört, make-kpkg wurde im Juni 2017 aus den Tests entfernt , aber im selben Monat erneut zu instabil und testend hinzugefügt . Weitere Informationen: tracker.debian.org/pkg/kernel-package . Aber ich stimme zu, es ist besser zu verwenden make deb-pkg.
Pevik