Làm thế nào để tùy chỉnh hạt nhân Ubuntu của bạn

Làm thế nào để tùy chỉnh hạt nhân Ubuntu của bạn
Làm thế nào để tùy chỉnh hạt nhân Ubuntu của bạn

Video: Làm thế nào để tùy chỉnh hạt nhân Ubuntu của bạn

Video: Làm thế nào để tùy chỉnh hạt nhân Ubuntu của bạn
Video: Cách bật/tắt thông báo Facebook - YouTube 2024, Tháng tư
Anonim

Tùy chỉnh hạt nhân không dành cho tất cả mọi người. Xin lưu ý trước khi bạn thử bất kỳ điều nào để nó có thể phá vỡ hệ thống của bạn.

Có nhiều lý do bạn muốn tùy chỉnh hạt nhân của mình. Bạn có thể muốn cắt giảm hạt nhân của bạn để chỉ các dịch vụ cần thiết, đặc biệt là nếu bạn đang chạy một máy chủ hoặc thiết bị chuyên dụng mà chỉ đòi hỏi các yếu tố cần thiết. Bạn cũng có thể cần phải vá hạt nhân của mình để hỗ trợ phần cứng hiện không được hỗ trợ với hạt nhân bạn đang chạy.

Bài viết này sẽ không giải thích cách vá hạt nhân của bạn, chỉ cách tùy chỉnh hạt nhân hiện tại của bạn. Tôi sẽ có một bài viết tiếp theo khác giải thích cách vá hạt nhân của bạn và một số lý do thực tế khiến bạn muốn làm như vậy.

Để bắt đầu, chúng ta cần tìm ra phiên bản kernel nào đang chạy. Chúng tôi sẽ sử dụng lệnh uname cho điều đó

$ uname -r

2.6.17-10-generic

Bây giờ chúng ta cần Cài đặt nguồn linux cho hạt nhân của bạn, lưu ý rằng tôi đang chạy hạt nhân 2.6.17-10, vì vậy dòng trình cài đặt phản ánh điều đó. Với mục đích của bài này, bạn có thể thay thế số nhân cho bất cứ thứ gì bạn đang chạy. Chúng tôi cũng cần phải cài đặt thư viện curses và một số công cụ khác để giúp chúng tôi biên dịch.

sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot

Nếu bạn tò mò nơi nguồn linux được cài đặt, bạn có thể sử dụng lệnh dpkg để cho bạn biết các tệp trong một gói. Đây là đầu ra trên hệ thống của tôi:

$ dpkg -L linux-source-2.6.17 /. /usr /usr/src /usr/src/linux-source-2.6.17.tar.bz2 /usr/share /usr/share/doc /usr/share/doc/linux-source-2.6.17 (trimmed)

Chúng ta có thể thấy rằng nguồn đã được cài đặt vào thư mục / usr / src trong một tệp nén.

Để dễ dàng hơn, chúng ta sẽ đặt chính mình vào chế độ root bằng cách sử dụng sudo để mở một trình bao mới. Có nhiều cách khác để làm điều này, nhưng tôi thích cách này hơn.

sudo /bin/bash

Bây giờ thay đổi thư mục vào vị trí nguồn để chúng tôi có thể cài đặt. Lưu ý rằng bạn có thể cần phải cài đặt tiện ích bunzip nếu nó chưa được cài đặt. (nó là của tôi)

cd /usr/src

bunzip2 linux-source-2.6.17.tar.bz2

tar xvf linux-source-2.6.17.tar

ln -s linux-source-2.6.17 linux

Tạo một bản sao của cấu hình hạt nhân hiện có của bạn để sử dụng cho quá trình biên dịch tùy chỉnh. Lưu ý rằng ký tự `là ký tự bên dưới dấu ngã ~

cp /boot/config-`uname -r` /usr/src/linux/.config

Bây giờ chúng ta sẽ khởi động tiện ích cho phép chúng ta tùy chỉnh kernel:

cd /usr/src/linux

make menuconfig

Trước tiên, đi xuống Tải một tệp cấu hình thay thế và tải tệp.config. (chỉ cần nhấn enter)

Bây giờ chúng ta đang ở trong tiện ích, chúng ta có thể thiết lập các tùy chọn cho hạt nhân tùy chỉnh của chúng ta. Điều hướng khá đơn giản, có một huyền thoại ở trên cùng nếu bạn bị lạc. Tôi quyết định chọn Networking và nhấn phím Enter để đi vào danh mục đó.
Bây giờ chúng ta đang ở trong tiện ích, chúng ta có thể thiết lập các tùy chọn cho hạt nhân tùy chỉnh của chúng ta. Điều hướng khá đơn giản, có một huyền thoại ở trên cùng nếu bạn bị lạc. Tôi quyết định chọn Networking và nhấn phím Enter để đi vào danh mục đó.
Amateur Radio Support? Cái quái gì được cài đặt cho? Bạn sẽ lưu ý bằng dấu * được tích hợp sẵn cho hạt nhân.
Amateur Radio Support? Cái quái gì được cài đặt cho? Bạn sẽ lưu ý bằng dấu * được tích hợp sẵn cho hạt nhân.
Bằng cách nhấn?, chúng ta có thể thấy sự trợ giúp cho mục cụ thể đó. Dưới đây là giải thích:
Bằng cách nhấn?, chúng ta có thể thấy sự trợ giúp cho mục cụ thể đó. Dưới đây là giải thích:
Tôi sẽ tắt nó ngay lập tức. Tại sao trái đất được cài đặt trong hạt nhân của tôi? Tôi nhấn Esc để thoát khỏi màn hình trợ giúp, và sau đó nhấn N để loại trừ nó khỏi hạt nhân của tôi.
Tôi sẽ tắt nó ngay lập tức. Tại sao trái đất được cài đặt trong hạt nhân của tôi? Tôi nhấn Esc để thoát khỏi màn hình trợ giúp, và sau đó nhấn N để loại trừ nó khỏi hạt nhân của tôi.

Khi bạn hoàn tất việc chọn bất kỳ tùy chọn nào, hãy nhấn Thoát và lưu cấu hình khi được nhắc.

Bây giờ chúng tôi có một cấu hình sẵn sàng để biên dịch. Trước tiên, chúng ta sẽ làm sạch, chỉ để đảm bảo mọi thứ đã sẵn sàng để biên dịch.

make-kpkg clean

Tiếp theo chúng ta sẽ biên dịch kernel. Quá trình này sẽ mất một khoảng thời gian FREAKING LONG, vì vậy hãy tìm điều gì đó thú vị để làm.

fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers

Quá trình này sẽ tạo hai tệp.deb trong / usr / src chứa hạt nhân. Tệp tin hình ảnh linux là tệp hình ảnh hạt nhân thực tế và tệp kia chứa các Bạn có thể cài đặt cả hai với dpkg. Các tên tập tin có thể sẽ khác trên hệ thống của bạn.

Xin lưu ý rằng khi bạn chạy các lệnh tiếp theo, điều này sẽ thiết lập hạt nhân mới làm hạt nhân mặc định mới. Điều này có thể phá vỡ mọi thứ! Nếu máy của bạn không khởi động được, bạn có thể nhấn Esc tại menu tải GRUB và chọn hạt nhân cũ của bạn. Sau đó bạn có thể vô hiệu hóa hạt nhân trong /boot/grub/menu.lst hoặc thử và biên dịch lại.

dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

Bây giờ khởi động lại máy tính của bạn. Nếu mọi thứ hoạt động, bạn nên chạy kernel mới của mình. Bạn có thể kiểm tra điều này bằng cách sử dụng uname. Lưu ý rằng số chính xác sẽ khác trên máy của bạn.

uname -r

2.6.17.14-ubuntu1-custom

Tôi dự định viết một loạt các bài viết về tùy chỉnh hạt nhân, vì vậy hãy đăng ký nguồn cấp dữ liệu RSS để cập nhật.

Ngoài ra, vì lợi ích của việc tiết lộ đầy đủ, tôi đã học được cách làm điều này từ bài viết tại HowtoForge, một trang web tuyệt vời cho một số hướng dẫn rất tiên tiến trên Linux. Bạn sẽ lưu ý rằng nhiều bước trong bài viết này giống nhau, mặc dù tôi đã cố gắng làm cho bài viết này thêm “Ubuntu”.

Đề xuất: