Tôi muốn biết sự khác biệt chính xác giữa make-kpkg
và make deb-pkg
. Câu hỏi này hỏi gần như cùng một điều nhưng không có câu trả lời thỏa mãn. Trước đây tôi đã sử dụng
make -j `getconf _NPROCESSORS_ONLN` deb-pkg
để biên dịch cây nguồn kernel và để tạo các gói debian tiêu đề + kernel-image. Tôi thấy rằng nó cực kỳ chậm vì phải mất hơn 1 giờ để biên dịch trên CPU Intel i3 thế hệ thứ hai của tôi. Sau đó, tôi tìm thấy một phương pháp khác sử dụng make-kpkg
nhanh hơn 5-6 lần so với deb-pkg
phương pháp tôi đã sử dụng trước đó. Mã tôi chạy
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers -j `getconf _NPROCESSORS_ONLN`
và chỉ mất 10-15 phút để biên dịch và tạo các gói deb. Trong cả hai quá trình biên dịch, các công việc được chia cho _NPROCESSORS_ONLN
điều gì tạo nên sự khác biệt này? Cảm ơn trước.
-j $(getconf blah)
thay vì -j `getconf blah`
.
linux-image-*.deb
và linux-headers-*.deb
vv vào phân phối, các make-kpkg
công cụ được thêm rất nhiều khả năng sẽ được cập nhật để tận dụng lợi thế của những người giúp đỡ hạt nhân khác có liên quan trong distro (ví dụ dkms
và update-initramfs
và những người khác). Makefile
deb-pkg
Mục tiêu kernel có lẽ chỉ được thực hiện nếu nó bị hỏng.
bindeb-pkg
mục tiêu.
make-kpkg
được duy trì bởi người viết kịch bản đó (rất có thể là những người Debian đó) vàmake deb-pkg
được duy trì bởi những kẻ hạt nhân. Người Debian có thể biết nhiều hơn.