Xây dựng lại nhân Linux mà không cần dọn dẹp


11

Tôi đang xây dựng một kernel tùy chỉnh dựa trên 4.11 (đối với Mintx64, nếu nó quan trọng). Tôi đã biên dịch và cài đặt nó để chứng minh rằng nó hoạt động. Bây giờ tôi đã thực hiện một vài thay đổi nhỏ cho một vài tệp (trong trình điều khiển và hệ thống con mạng, đây là lý do tại sao tôi cần biên dịch kernel tùy chỉnh ở vị trí đầu tiên!)

Bây giờ tôi muốn xây dựng kernel đã sửa đổi. Tuy nhiên khi tôi chạy

fakeroot make -j5 deb-pkg LOCALVERSION=myname KDEB_PKGVERSION=1 

Hệ thống xây dựng dường như bắt đầu bằng cách "dọn dẹp" toàn bộ tải công cụ, vì vậy tôi đã dừng nó nhanh chóng. Thật không may, máy tính tôi đang sử dụng không có CPU tốt và mất nhiều giờ để xây dựng từ đầu. Vì vậy, tôi muốn tránh làm lại nếu có thể!

Có thể thực hiện chỉ là một bản dựng gia tăng mà không phải mọi thứ đều "sạch" hay đây là một yêu cầu của hệ thống xây dựng kernel?

Đầu ra tôi nhận được là:

CHK      include/config/kernel.release
make clean
CLEAN .
CLEAN arch/x86/lib
...

@jc__ thấy đầu ra từ bản dựng ở trên, tôi không thể tìm thấy ngay nơi tạo tệp cho mục tiêu đó, nhưng tôi vẫn đang tìm kiếm :)
T Kilney

Câu trả lời:


12

Các make cleanchỉ dành cho các deb-pkgmục tiêu. Hãy xem scripts/package/Makefile:

deb-pkg: FORCE
        $(MAKE) clean
        $(call cmd,src_tar,$(KDEB_SOURCENAME))
        $(MAKE) KBUILD_SRC=
        +$(call cmd,builddeb)

bindeb-pkg: FORCE
        $(MAKE) KBUILD_SRC=
        +$(call cmd,builddeb)

Nếu bạn xây dựng bindeb-pkgthay thế, nó sẽ không làm sạch. Bạn có thể không cần các gói nguồn nào.

Tôi nghi ngờ nó không sạch vì nó không muốn tạo ra các tạo tác trong tarball nguồn.


2

Bạn có thể thử tạo ra những deb gói với một công cụ khác nhau, make-kpkgđược cài đặt bởi apt-get install kernel-package. Sau đó, ví dụ

make-kpkg --rootcmd=fakeroot --initrd --uc --us -j2 kernel_image kernel_headers

Lệnh này không nên làm make cleanmỗi lần.


1

Tôi đã sửa lỗi này bằng cách vào makefile cho lệnh deb-pkg và xóa "make clean" khỏi tập lệnh. Điều này dường như không gây ra bất kỳ ảnh hưởng xấu nào với bản dựng và tôi đã chạy kernel tùy chỉnh trong một hoặc hai tuần nay mà không gặp vấn đề gì. YMMV!

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.