Saya ingin tahu perbedaan persis antara make-kpkg
dan make deb-pkg
. Pertanyaan ini menanyakan hal yang hampir sama tetapi tanpa jawaban yang memuaskan. Sebelumnya saya menggunakan
make -j `getconf _NPROCESSORS_ONLN` deb-pkg
untuk mengkompilasi struktur kode sumber kernel dan untuk menghasilkan paket + kernel-image debian. Saya menemukan bahwa ini sangat lambat karena membutuhkan lebih dari 1 jam untuk mengkompilasi CPU 2nd gen Intel i3 saya. Kemudian saya menemukan metode lain yang menggunakan make-kpkg
5-6 kali lebih cepat daripada deb-pkg
metode yang saya gunakan sebelumnya. Kode yang saya jalankan
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers -j `getconf _NPROCESSORS_ONLN`
dan hanya butuh 10-15 menit untuk mengkompilasi dan menghasilkan paket deb. Dalam kedua proses kompilasi, pekerjaan dibagi untuk _NPROCESSORS_ONLN
apa yang membuat perbedaan ini? Terima kasih sebelumnya.
make-kpkg
dikelola oleh penulis skrip tersebut (kemungkinan besar orang-orang Debian), danmake deb-pkg
dikelola oleh kernel guys. Orang Debian mungkin tahu lebih banyak.-j $(getconf blah)
sebagai gantinya-j `getconf blah`
.linux-image-*.deb
danlinux-headers-*.deb
dll ke distribusi,make-kpkg
alat ini jauh lebih mungkin diperbarui untuk mengambil keuntungan dari pembantu kernel terkait lainnya dalam distro (misalnyadkms
danupdate-initramfs
dan lain-lain).Makefile
deb-pkg
Target kernel mungkin hanya bisa dikerjakan jika rusak.bindeb-pkg
target.Jawaban:
make-kpkg
sedang pensiun, cara resmi Debian adalahmake deb-pkg
. Buku pegangan kernel Debianresmi menggunakan .
make deb-pkg
make-kpkg
termasuk dalam wheezy dan jessie tetapi peregangan (stabil saat ini) hanya berisi untuk powerpc .Powerpc tidak lagi didukung dalam buster (pengujian), dan tidak mengejutkan satu-satunya hit untuk nama file yang mengandung
make-kpkg
adalah file info pelengkapan otomatis untuk zsh .Itu akan dengan jelas menunjukkan yang mana dari keduanya adalah pilihan Debian.
(Namun, jika Anda menguji apa yang berhasil dan yang tidak, mengkompilasi ulang banyak, Anda mungkin ingin menghapus "make clean" dari
scripts/packages/Makefile
sebagai langkah pertama. Lagipula, bahkan make-kpkg ditujukan untuk membuat paket Debian dari suatu karya sumber kernel dan konfigurasi, bukan pemrograman kernel dan debugging.)sumber
kernel-package
menjadi milikmake-kpkg
telah dihapus dari pengujian pada Juni 2017, tetapi ditambahkan lagi menjadi tidak stabil dan pengujian pada bulan yang sama. Info lebih lanjut: tracker.debian.org/pkg/kernel-package . Tapi saya setuju lebih baik digunakanmake deb-pkg
.