Sự khác biệt giữa make-kpkg và deb-pkg


8

Tôi muốn biết sự khác biệt chính xác giữa make-kpkgmake 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.


2
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.
Arthur2e5

1
Ngoài ra, các backticks trong lệnh của bạn không thành công trong stackexchange. Hoặc bọc hai backticks xung quanh các lệnh đó hoặc sử dụng -j $(getconf blah)thay vì -j `getconf blah` .
Arthur2e5

@ Arthur2e5, đúng rồi. Ngoài ra, khi nói đến việc tích hợp linux-image-*.deblinux-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ụ dkmsupdate-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.
cas

BTW cách nhanh nhất cho gói kernel chỉ nhị phân là bindeb-pkgmục tiêu.
pevik

Câu trả lời:


6

make-kpkghiện đã nghỉ hưu, cách thức chính thức của Debian là make deb-pkg. Cẩm nang kernel Debian
chính thức sử dụng .make deb-pkg

make-kpkgđược bao gồm trong wheezyjessie nhưng kéo dài (ổn định hiện tại) chỉ chứa nó cho powerpc .

Powerpc không còn được hỗ trợ trong buster (thử nghiệm) và không có gì ngạc nhiên khi cú đánh duy nhất cho tên tệp có chứa make-kpkgtệp thông tin tự động hoàn thành cho zsh .

Điều đó sẽ chỉ ra rõ ràng một trong hai là tùy chọn ưa thích của Debian.

(Tuy nhiên, nếu bạn đang thử nghiệm những gì hoạt động và những gì không, biên dịch lại nhiều, bạn có thể muốn xóa "làm sạch" từ scripts/packages/Makefilebước đầu tiên. nguồn kernel và cấu hình, không phải lập trình và gỡ lỗi kernel.)


1
FYI kernel-packagemà thuộc về make-kpkg đã bị xóa khỏi thử nghiệm vào tháng 6 năm 2017, nhưng lại thêm vào không ổn địnhthử nghiệm cùng tháng. Thông tin thêm: tracker.debian.org/pkg/kernel-package . Nhưng tôi đồng ý sử dụng nó tốt hơn make deb-pkg.
pevik
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.