Trang chủ » làm thế nào để » Cách tùy chỉnh hạt nhân Ubuntu của bạn

    Cách tùy chỉnh hạt nhân Ubuntu của bạn

    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ỳ thứ gì trong số này có thể phá vỡ hệ thống của bạn.

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

    Bài viết này sẽ không giải thích cách vá kernel của bạn, chỉ là cách tùy chỉnh cái hiện tại của bạn. Tôi sẽ có một bài viết tiếp theo giải thích cách vá kernel của bạn và một số lý do thực tế tại sao 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 chúng ta đang chạy. Chúng tôi sẽ sử dụng lệnh uname cho điều đó

    $ uname -r

    2.6.17-10-chung

    Bây giờ chúng ta cần Cài đặt nguồn linux cho kernel của bạn, lưu ý rằng tôi đang chạy kernel 2.6.17-10, vì vậy dòng trình cài đặt phản ánh điều đó. Đối với mục đích của bài viết này, bạn có thể thay thế số kernel cho bất cứ điều gì bạn đang chạy. Chúng tôi cũng cần cài đặt thư viện lời nguyền 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-gói libncurses5-dev fakeroot

    Nếu bạn tò mò nguồn linux được cài đặt vào đâu, 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 / chia sẻ
    / usr / chia sẻ / doc
    /usr/share/doc/linux-source-2.6.17
    (cắt tỉa)

    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.

    Để làm cho mọi thứ dễ dàng hơn, chúng ta sẽ đặt bản thân vào chế độ root bằng cách sử dụng sudo để mở shell 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.

    sudo / bin / bash

    Bây giờ thay đổi thư mục vào vị trí nguồn để chúng ta có thể cài đặt. Lưu ý rằng bạn có thể cần 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ấu hình kernel hiện tại 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 tôi sẽ khởi chạy tiện ích cho phép chúng tôi tùy chỉnh kernel:

    cd / usr / src / linux

    làm menuconfig

    Đầu tiên, đi xuống Tải 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ể đặt các tùy chọn cho kernel tùy chỉnh của mình. Điều hướng khá đơn giản, có một huyền thoại ở đầu nếu bạn bị lạc. Tôi quyết định chọn Mạng và nhấn phím Enter để đi vào danh mục đó.

    Hỗ trợ vô tuyến nghiệp dư? Cái quái gì được cài đặt cho? Bạn sẽ lưu ý bởi * rằng nó được tích hợp vào kernel.

    Bằng cách nhấn? chính, chúng ta có thể thấy sự giúp đỡ cho mặt hàng cụ thể đó. Đây là lời giải thích:

    Chà, tôi sẽ vô hiệu hóa nó ngay lập tức. Tại sao trên trái đất này được cài đặt trong kernel 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 kernel của tôi.

    Khi bạn hoàn thành bất kỳ lựa chọn nào bạn muốn, 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 tôi sẽ làm cho sạch, chỉ để đảm bảo mọi thứ đã sẵn sàng để biên dịch.

    làm sạch kpkg

    Tiếp theo chúng tôi sẽ thực sự biên dịch kernel. Điều này sẽ mất một thời gian dài TỰ DO, vì vậy hãy đi tìm một cái 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 có chứa kernel. Tệp **** hình ảnh linux là hình ảnh hạt nhân thực tế và tệp khác chứa tệp Bạn có thể cài đặt cả hai với dpkg. Tên tệp 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 này, điều này sẽ đặt kernel mới làm kernel 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, bạn có thể nhấn Esc tại menu tải GRUB và chọn kernel cũ của bạn. Sau đó, bạn có thể vô hiệu hóa kernel trong /boot/grub/menu.lst hoặc thử và biên dịch lại.

    dpkg -i linux-image-2.6.17,14-ubfox1-custom_2.6.17.14-ubfox1-custom-10:00.Custom_i386.deb

    dpkg -i linux-headers-2.6.17.14-ubfox1-custom_2.6.17.14-ubfox1-custom-10:00.Custom_i386.deb

    Bây giờ khởi động lại máy của bạn. Nếu mọi thứ hoạt động, bạn nên chạy kernel tùy chỉnh 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-ubfox1-tùy chỉnh

    Tôi dự định viết một loạt bài viết về tùy biến kernel, vì vậy hãy đăng ký nguồn cấp 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á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 nâng cao về linux. Bạn sẽ lưu ý rằng nhiều bước trong bài viết này là tương tự nhau, mặc dù tôi đã cố gắng làm cho bài viết này nhiều hơn Ubuntu Ubuntu..