Từ đầu ...
make
biên dịch và liên kết hình ảnh hạt nhân. Đây là một tập tin duy nhất có tên vmlinuz
.
make modules
biên dịch các tệp riêng lẻ cho mỗi câu hỏi bạn đã trả lời M
trong cấu hình kernel. Mã đối tượng được liên kết với hạt nhân mới được xây dựng của bạn. (Đối với các câu hỏi đã được trả lời Y
, đây đã là một phần vmlinuz
và đối với các câu hỏi đã được trả lời, N
chúng sẽ bị bỏ qua).
make install
cài đặt kernel đã xây dựng của bạn vào /vmlinuz
.
make modules_install
cài đặt các mô-đun hạt nhân của bạn để /lib/modules
hoặc /lib/modules/<version>
.
Đối với việc thêm nó vào danh sách các hạt nhân có sẵn, điều đó được bộ tải khởi động quan tâm. Nó khác nhau đối với mỗi bộ tải khởi động, nhưng grub
là phổ biến nhất trên x86 và amd64 vì vậy tôi sẽ mô tả điều đó. Nó thực sự khá đơn giản. Grub nhìn vào /
, /boot
và /lib/modules
đối với bất kỳ thứ gì có vẻ như nó có thể là một hạt nhân hoạt động và thêm nó. Và vâng, đây là một mô tả quá đơn giản.
Thêm "thứ khủng khiếp" trong tài liệu Ubuntu là những thứ bổ sung để tạo ra một deb
gói. Khi bạn làm việc đó nhiều hơn cho bản thân, tốt hơn hết là bạn nên gói nó. Bạn sẽ chuyển đổi kịp thời.
Việc xây dựng kernel và các mô-đun được giữ riêng biệt bởi vì đối với những người cần (tức là các nhà phát triển kernel), họ thường thực hiện các thay đổi đối với chỉ một mô-đun. Họ có thể áp dụng các thay đổi của mình, xây dựng lại và chỉ cài đặt các mô-đun. Điều này tiết kiệm rất nhiều thời gian khi nó phải được thực hiện 20 lần một ngày. Nó sẽ không bao giờ được cập nhật để có một make everything
lệnh duy nhất . Bạn thay vào đó, chạy make && make modules && make install && make modules_install
giống như các tài liệu nói để làm . Quá trình xây dựng ủng hộ các nhà phát triển kernel, không phải bạn. Và đó là cách nó phải như vậy.
Trong thực tế, hầu như không có lý do cho bất kỳ ai ngoại trừ các nhà phát triển kernel hoặc distro packager để biên dịch kernel. Trong hầu hết mọi trường hợp, tính năng kernel mà bạn muốn đã được xây dựng cho bạn và có sẵn trong một trong các hạt nhân được đóng gói sẵn. Có những trường hợp ngoại lệ, nhưng chúng cực kỳ hiếm ngày nay.
Không phải là tôi không khuyến khích bạn xây dựng hạt nhân của riêng bạn, tôi thực sự khuyến khích bạn làm điều đó. Tôi nghĩ rằng xây dựng hạt nhân của bạn từ đầu là một thực tiễn vô giá để tìm hiểu về cách tất cả hoạt động ở dưới đó. Một phần, vì có thể một ngày nào đó bạn sẽ là ngoại lệ cần phải làm. Nhưng nó cũng dạy cho bạn rất nhiều về quá trình khởi động và kernel nói chung. Bạn sẽ là một người tốt hơn vì đã làm điều đó.