Tôi muốn biết sự khác biệt chính xác giữa make-kpkgvà 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-kpkgnhanh hơn 5-6 lần so với deb-pkgphươ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-*.debvà linux-headers-*.debvv vào phân phối, các make-kpkgcô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ụ dkmsvà update-initramfsvà những người khác). Makefile deb-pkgMục tiêu kernel có lẽ chỉ được thực hiện nếu nó bị hỏng.
bindeb-pkgmụ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.