Cách biên dịch Kernel 2.6.36.2 trong Ubuntu với bản vá 200 dòng

Nhiều người trong số các bạn dường như đã gặp sự cố khi cài đặt Kernel được biên dịch trước với bản vá 200 dòng trên máy của bạn, điều này được mong đợi, vì vậy tốt hơn là bạn nên có Hạt nhân được biên dịch trực tiếp trong máy của chúng tôi hơn là trong máy nước ngoài, để nó lấy chính xác kiến ​​trúc của máy của chúng tôi và cấu hình chung của phần cứng.

Vì lý do này, ở đây tôi dạy cách biên dịch Kernel (2.6.36.2) của riêng họ trong Ubuntu (đã được thử nghiệm trong Ubuntu 10.10) với bản vá 200 dòng được bao gồm trong đó. Hãy nhớ rằng quá trình này nên được thực hiện với rủi ro của riêng bạn, nó yêu cầu một số lượng lớn các gói để tải xuống và thời gian biên dịch khá dài.

Để bắt đầu, điều đầu tiên chúng ta phải làm là cài đặt các phụ thuộc cần thiết cho quá trình biên dịch hạt nhân bằng cách thực hiện dòng sau trong terminal:

sudo apt-get install fakeroot build-Essential crash kexec-tools makedumpfile kernel-wedge kernel-package

Bây giờ, hãy thực hiện dòng sau trong terminal, dòng này cần thiết để biên dịch Kernel (từ Gan dạ)

sudo apt-get build-dep linux

Chúng tôi kết thúc bước đầu tiên này với việc cài đặt các gói khác cần thiết cho quá trình biên dịch

sudo apt-get cài đặt libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

Để tiếp tục quá trình cài đặt hạt nhân, chúng ta phải tải xuống các nguồn của hạt nhân ổn định mới nhất (2.6.36.2) và bản vá của Mike galbraith và định vị chúng trong thư mục cá nhân của chúng tôi.
Hãy tạo một thư mục cho quá trình biên dịch hạt nhân, chúng ta vào đó và tải xuống các nguồn hạt nhân từ kernel.org:

mkdir kernel-2.6.36.2 cd kernel-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz

Bây giờ chúng tôi tạo một tệp văn bản mới và chúng tôi sẽ sao chép mã mà chúng tôi sẽ tìm thấy trong bài đăng của Mike Galbraith hoặc chúng tôi có thể tải xuống từ MediaFire, lưu và đóng tệp:

gedit ~ / autogroup.patch

Bài đăng chính thức của Mike Galbraith
Mike Galbraith Patch từ MediaFire

Bây giờ chúng ta sẽ giải nén Kernel mà chúng ta vừa tải xuống từ kernel.org:

tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch

Tại thời điểm này, mọi thứ sẽ diễn ra tốt đẹp và không có lỗi, trong trường hợp có lỗi, cần phải khởi động lại quá trình.
Tiếp theo, chúng ta sẽ tải cấu hình hiện tại của Kernel, điều này để Kernel mới lấy cấu hình trực tiếp từ hệ thống của chúng ta và chúng ta không gặp bất kỳ vấn đề gì khi biên dịch nó. Mặc dù vậy, nếu bạn có đủ kiến ​​thức, bạn có thể tùy chỉnh cấu hình Kernel để có được một hệ thống phù hợp hơn với nhu cầu của bạn.

Nếu bạn không biết mình đang làm gì, tốt hơn là không nên sửa đổi cấu hình hạt nhân theo cách thủ công.

Chúng tôi sao chép cấu hình bằng cách thực hiện lệnh sau trong thiết bị đầu cuối và sau đó chúng tôi thực thi

lsmod

để tất cả các mô-đun được tải trong hệ thống của chúng tôi được thực thi và chúng tôi đảm bảo rằng tất cả phần cứng của chúng tôi đều được công nhận.

cp -vi / boot / config-`uname -r` .config make localmodconfig

Tại thời điểm này, quá trình biên dịch sẽ hỏi bạn một số câu hỏi về các mô-đun, hãy tiếp tục chấp nhận tất cả các câu hỏi được đặt ra bằng cách nhấn đăng ký hạng mục thi cho đến khi quá trình thiết lập hoàn tất.
Chúng tôi tiếp tục biên dịch hạt nhân bằng cách thực hiện dòng sau trong thiết bị đầu cuối để mở menu cấu hình hạt nhân:

cp / boot / config - $ (uname -r) .config && yes "" | làm cho oldconfig làm cho menuconfig

Bây giờ chúng ta có thể chọn các bản vá mà chúng ta muốn kích hoạt trong Kernel của mình, vì chúng ta quan tâm đến bản vá 200 dòng.
Để làm điều này, chúng tôi điều hướng qua menu cấu hình hạt nhân xuất hiện, cho đến khi

General Setup

và chúng tôi tìm dòng có tên

Automatic process group scheduling

, chúng tôi bật tính năng này bằng cách nhấn phím cách trên bàn phím, chúng tôi tự định vị tùy chọn

Exit

sử dụng các phím mũi tên trên bàn phím và nhấn phím đăng ký hạng mục thi từ bàn phím của chúng tôi để thoát khỏi menu

General Setup

.

Cấu hình hạt nhân Linux - Cài đặt chung

Cấu hình hạt nhân Linux - Lược đồ nhóm quy trình tự động

Bây giờ chúng ta điều hướng đến menu

Kernel hacking

và chúng tôi nhập bằng cách nhấn phím đăng ký hạng mục thi, chúng tôi tìm kiếm tùy chọn

Compile the kernel with debug info

và chúng tôi bỏ chọn nó bằng cách nhấn phím cách trên bàn phím, một lần nữa chúng tôi chuyển đến tùy chọn

Exit

và chúng tôi nhấn đăng ký hạng mục thi để thoát khỏi menu chính.

Cấu hình hạt nhân Linux - Hack hạt nhân

Cấu hình hạt nhân Linux - Không biên dịch hạt nhân với thông tin gỡ lỗi

Chúng tôi đã hoàn thành cấu hình hạt nhân, vì vậy chúng tôi chỉ cần quay lại

Exit

trong menu chính và nhấn đăng ký hạng mục thi để kết thúc cấu hình hạt nhân. Chúng tôi chấp nhận khi nó hỏi chúng tôi nếu chúng tôi muốn lưu các thay đổi được thực hiện đối với cấu hình hạt nhân bằng cách nhấn Enter trên tùy chọn Yes.

Bây giờ, chúng ta sẽ biên dịch hạt nhân bằng cách thực hiện dòng sau trong terminal:

fakeroot make-kpkg --initrd --append-to-version = -20101209 kernel-image kernel-headers

Xin lưu ý rằng quá trình xây dựng có thể khác nhau tùy thuộc vào phần cứng của bạn

Thao tác này sẽ tạo ra hai gói .deb bên trong thư mục kernel-2.6.36.2, mà chúng tôi sẽ sử dụng để cài đặt Kernel mới trong Ubuntu của chúng tôi, cho phép chúng có thể được theo dõi bằng cách Synaptic và dễ dàng tháo lắp.

Chúng ta đến với phần cuối cùng của hướng dẫn này, nơi chúng ta sẽ cài đặt và kiểm tra hoạt động bình thường của Kernel mới mà chúng ta vừa cài đặt.

Để cài đặt hai gói .deb mà chúng ta vừa tạo, chúng ta phải thực hiện lệnh sau trong terminal:

cd .. sudo dpkg -i * .deb

Nếu mọi thứ suôn sẻ, chúng tôi khởi động lại máy của mình và trong danh sách Grub, chúng tôi chọn Kernel mới (2.6.36.2) và nhấn đăng ký hạng mục thi để khởi động hệ thống.
Khi chúng tôi quay lại màn hình, chúng tôi sẽ xác minh rằng bản vá 200 dòng được áp dụng chính xác và hoạt động bằng cách thực hiện dòng sau trong một thiết bị đầu cuối:

mèo /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i AUTOGROUP

Và nó phải trả về một dòng như thế này:

CONFIG_SCHED_AUTOGROUP = y

Nếu vậy, chúng tôi có hệ thống của mình đang chạy với nó. Hạt nhân 2.36.6.2"Lập lịch nhóm quy trình tự động" đã được kích hoạt.
Ubuntu 10.10 Maverick Meerkat với Kernel 2.6.36.2 và Lập lịch nhóm quy trình tự động

Chúng tôi đã có thể nhấn mạnh Ubuntu ở mức tối đa ...

Sổ tay hướng dẫn này đến với bạn nhờ nỗ lực của FRANCOBEP.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Horacio dijo

    Chào David

    câu hỏi của tôi là:

    Tôi thường sử dụng các hạt nhân của ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)

    Chúng không còn đi kèm với bản vá 200 dòng?

    cảm ơn

    1.    David gomez dijo

      Thấy chưa, tôi vẫn đang kiểm tra xem hạt nhân PPA của Ubuntu có bản vá hay không, nhưng điều này rất dễ tự tìm hiểu, chỉ cần chạy lệnh cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP, nơi bạn sẽ thay đổi văn bản bên trong dấu ngoặc cho phiên bản của hạt nhân mới nhất trên máy của bạn.

      Nếu bạn nhận được một tin nhắn trả lời như thế này CONFIG_SCHED_AUTOGROUP=y, thì bạn đã cài đặt xong bản vá.

      Lưu ý: để biết phiên bản của tất cả các hạt nhân được cài đặt trên máy tính của bạn, bạn chỉ cần thực hiện lệnh ls /usr/src/ Trong thiết bị đầu cuối.

    2.    David gomez dijo

      Horacio, Nhân PPA Ubuntu hiện có bản vá V4 của Mike glabraith theo lời của chính anh ấy Tim người làm vườn (Nhà phát triển Canonical).

      Chúng tôi đang thực hiện V4 của bản vá nhóm tự động của Mike Galbraith kể từ 2.6.37-6.16, nhưng tôi hy vọng điều đó sẽ thay đổi theo hướng ngược dòng khi chúng tôi chuyển sang cửa sổ hợp nhất 2.6.38.

      lên lịch: nhóm tác vụ tự động mỗi phiên V4

      RTG

      -
      Tim người làm vườn

  2.   kanito dijo

    Vâng, tôi đã biên dịch nó và nó đã được cài đặt,…. ít nhất hệ thống đã không chết bây giờ để hoạt động để xem nó hoạt động như thế nào

  3.   Irving dijo

    Hướng dẫn xuất sắc. Tôi đã làm theo các bước của lá thư và mọi thứ hoạt động hoàn hảo. Tôi có nhân mới của mình.

    Lưu ý: Tôi chỉ thực hiện một thay đổi có vẻ hợp lý đối với tôi và nó ở đây:

    cp -vi / boot / config-`uname -r` .config
    tạo localmodconfig

    Tôi đã làm nó như thế này:

    cp -vi / boot / config-`uname -r` .config
    lsmod
    tạo localmodconfig

  4.   kanito dijo

    bây giờ tôi nhận ra mình đã mắc một lỗi nhỏ nên tôi sẽ cài đặt lại nó ... và thêm sửa đổi không thể sửa chữa : Mrgreen:

  5.   sergio dijo

    Tôi ở đầu:
    init: tiến trình chính chưa đọc (362) đã kết thúc với trạng thái 5
    Chà, nó có vẻ hoạt động tốt, nó có thể là gì ??? '

  6.   brian dijo

    Hướng dẫn sử dụng rất tốt, họ cũng đã đăng nó trên taringa, tại thời điểm này nó đang biên dịch hạt nhân. Tôi hy vọng nó đã diễn ra tốt đẹp. Tôi chỉ thay đổi loại bộ xử lý trong menuconfig. Tôi hy vọng bạn đã chọn tốt bằng cách chọn Intel core / mới hơn xeon vì tôi có bộ vi xử lý intel core i3, xin chào và cảm ơn vì đã đóng góp ý kiến

  7.   thedemon007 dijo

    Xin chào, tốt, lệnh có vẻ tốt hơn đối với tôi

    cp / boot / config-`uname –kernel-release` ./.config

    vì nó sử dụng cấu hình hạt nhân gần đây nhất được cài đặt

  8.   Darkwolf22 dijo

    Xin chào, bạn có khỏe không? Tôi chỉ hơi nghi ngờ… trong tệp hạt nhân có cả phiên bản 32-bit và 64-bit? hay để có được phiên bản amd64, tôi có cần tải xuống một phiên bản khác không?… Suy ra, cả hai phiên bản phải giống nhau đúng không?… giải thích rất hay!

    Cảm ơn bạn!