Dưới đây là các bước. Thủ tục này được dựa trên nixCraft là Làm thế nào để: Compile Linux Kernel 2.6 --but hiện đại hóa đáng kể.
Tải xuống và trích xuất mã nguồn của kernel mà bạn muốn xây dựng.
Bạn có thể lấy mã nguồn kernel ngược dòng tại kernel.org . Phiên bản 3.16.1 (hạt nhân ổn định mới nhất kể từ khi viết bài này) sẽ được sử dụng ở đây. Vì vậy, bạn có thể cần sửa đổi các lệnh này nếu bạn đang sử dụng một phiên bản khác.
Mã nguồn hạt nhân hiện đang được cung cấp trong. hắc ín . lưu trữ xz , vì vậy hãy nhấp vào liên kết "tar.xz" theo bất kỳ phiên bản nào bạn muốn:
Sau khi cd
vào thư mục mà bạn đã tải xuống kho lưu trữ, bạn có thể giải nén nó bằng tar
:
tar xf linux-3.16.1.tar.xz
Cài đặt các công cụ xây dựng cần thiết và thực hiện cấu hình kernel.
Để có được Ubuntu của toolchain ( gcc
, make
, và vân vân) cài đặt các build-essential siêu gói:
sudo apt-get update
sudo apt-get install build-essential
Hai cách hợp lý thân thiện với người dùng để định cấu hình những gì đi vào kernel của bạn được cung cấp bởi các make
mục tiêu xconfig
và menuconfig
.
xconfig
chạy một tiện ích cấu hình đồ họa, trong khi menuconfig
dựa trên văn bản (nghĩa là giao diện của nó xuất hiện đầy đủ trong thiết bị đầu cuối của bạn). Mỗi yêu cầu một số phần mềm bổ sung không được cung cấp bởi bản dựng .
Để cấu hình đồ họa , cài đặt libqt4-dev và pkg-config và chạymake xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Để định cấu hình trong thiết bị đầu cuối , cài đặtlibncurses5-dev
(nhờ Hannu cho thông tin này) và chạymake menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Xây dựng kernel được cấu hình.
Đầu tiên chạy cái này để biên dịch kernel và tạo vmlinuz
:
make
vmlinuz
là "hạt nhân." Cụ thể, đó là hình ảnh hạt nhân sẽ không bị nén và được tải vào bộ nhớ bởi GRUB hoặc bất kỳ bộ tải khởi động nào khác mà bạn sử dụng.
Sau đó xây dựng các mô-đun hạt nhân có thể tải :
make modules
Cài đặt kernel mới được xây dựng của bạn.
Giả sử những make
lệnh đó đã hoàn thành thành công, đã đến lúc cài đặt kernel mới. Đầu tiên cài đặt các mô-đun:
sudo make modules_install
Sau đó cài đặt kernel :
sudo make install
Điều đó đặt vmlinuz-3.16.1
(một bản sao của vmlinuz
), config-3.16.1
(một tệp văn bản lưu các tham số cấu hình kernel) và System.map-3.16.1
( bảng tra cứu biểu tượng kernel ) vào /boot
. Để biết thêm chi tiết, xem bài đăng comp.os.linux.misc này của Hadron và man installkernel
.
Thiết lập cuối cùng, vì vậy kernel có thể được khởi động và khởi động hệ thống:
Phần này một phần dựa trên thông tin trong Kernel / Compile .
Với kernel bây giờ, nơi nó cần, nó cần:
Tạo initramfs của bạn vớimkinitramfs
:
cd /boot
sudo mkinitramfs -ko initrd.img-3.16.1 3.16.1
Khi bạn cập nhật cấu hình của bộ tải khởi động GRUB2 - vốn được mặc định trong Ubuntu kể từ ngày 9.10-- sẽ tự động phát hiện hạt nhân mới và thêm tùy chọn để khởi động từ nó.
sudo update-grub
Hãy thử hạt nhân của bạn.
Bây giờ bạn có thể khởi động lại để kiểm tra kernel mới của bạn. Bạn có thể cần giữ Shifthoặc nhấn Esctrong khi khởi động để xem menu khởi động GRUB nơi bạn có thể chọn giữa các hạt nhân khác nhau được cài đặt.
Để đặt kernel của bạn (hoặc một cái khác) làm mặc định, hãy xem Làm cách nào để thay đổi thứ tự khởi động GRUB?