Biên dịch hạt nhân: Làm cách nào để thực hiện trên Bản phân phối dựa trên Debian?

Biên dịch hạt nhân: Làm cách nào để thực hiện trên Bản phân phối dựa trên Debian?

Biên dịch hạt nhân: Làm cách nào để thực hiện trên Bản phân phối dựa trên Debian?

Trong chúng tôi mục nhập trước, gọi “Hạt nhân Linux: Khái niệm cơ bản về hạt nhân” chúng tôi giải quyết một số cơ sở lý thuyết thiết yếu về Hạt nhân hệ điều hành, thường xuyên; và nền tảng Linux, riêng.

Và như chúng tôi đã trình bày trong đó, trong phần này, chúng tôi sẽ hoàn thành cơ sở lý thuyết thiết yếu với những người khác khái niệm và thông tin quan trọng, ngoài việc hiển thị quy trình hiện tại để đạt được "biên dịch nhân Linux" từ đầu, trên một Bản phân phối Debian GNU / Linux 11 (Bullseye) hoặc dựa trên nó.

Hạt nhân Linux: Khái niệm cơ bản về hạt nhân

Hạt nhân Linux: Khái niệm cơ bản về hạt nhân

Và, trước khi bạn bắt đầu đọc bài đăng này về "Biên dịch một hạt nhân" Linux Nói chung, chúng tôi sẽ để lại một số liên kết đến bài viết liên quan trước đó để đọc sau:

Nhân Linux: Tất cả về nhân của Hệ điều hành miễn phí
Bài viết liên quan:
Hạt nhân Linux: Khái niệm cơ bản về hạt nhân
dễ bị tổn thương
Bài viết liên quan:
Cho đến nay trong tháng này, một số lỗ hổng được tìm thấy trong nhân Linux đã được tiết lộ

Xây dựng nhân: Hướng dẫn xây dựng

Xây dựng nhân: Hướng dẫn xây dựng

Nó có nghĩa là gì để biên dịch một chương trình?

Về cơ bản cái này quy trình kỹ thuật (còn gọi là bao bì) bao gồm trong việc đạt được chuyển đổi mã nguồn của một chương trình hoặc một phần của phần mềm, từ nguồn của nó (ngôn ngữ lập trình được sử dụng để viết chính nó) đến một sản phẩm có thể đọc được (ngôn ngữ lập trình cấp cao có thể thông dịch được) bằng máy tính.

Đó là, đạt được chuyển đổi từ mã nguồn của bạn cho đến khi nó trở thành một chương trình thực thi và chức năng, bằng cách sử dụng bộ xử lý (phần mềm biên dịch) để chuyển đổi ngôn ngữ lập trình được sử dụng sang mã kiểu nhị phân và trình hợp dịch.

Và khi nói đến phát triển và biên dịch bất kỳ loại nào gói, ứng dụng và chương trình, cơ bản và bản địa, như hạt nhân trên Debian GNU / Linux, các gói sau là phù hợp và cần thiết để có được một cơ sở hỗ trợ phát triểnvà đây là:

apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev
Tối ưu hóa GNU / Linux của bạn: Các gói Debian để phát triển ứng dụng
Bài viết liên quan:
Tối ưu hóa GNU / Linux của bạn: Các gói Debian để phát triển ứng dụng

Ưu điểm và nhược điểm của việc biên dịch Nhân Linux từ đầu

Khi chúng tôi tùy chỉnh biên dịch và cấu hình, từ đầu, một Kernel cụ thể cho một máy tính nhất định, chúng tôi có thể có được những lợi ích sau:

  • Đạt được hiệu suất tốt hơn và tiêu thụ CPU thấp hơn.
  • Tối ưu hóa tốt hơn và tiêu thụ Bộ nhớ RAM thấp hơn.
  • Nâng cao khả năng thích ứng và tương thích của hệ điều hành.
  • Tăng hiệu quả và năng suất của hệ điều hành.

Ngược lại, chúng tôi có thể tạo ra các Nhược điểm sau:

  • Các lỗi hoạt động và tính khả dụng tài nguyên và dịch vụ mong muốn trên máy tính được sử dụng, do cấu hình xấu và sự cố gây ra trong quá trình biên dịch.
  • Một công việc liên tục, lâu dài và tẻ nhạt lúc đầu để tạo ra nó, và sau đó để cập nhật thủ công. Có thể mất từ ​​vài phút đến hàng giờ, tùy thuộc vào phần cứng được sử dụng.
  • Nhiều giờ học và kiểm tra, vì cần có kiến ​​thức cao cả về các tùy chọn cấu hình có sẵn trong Kernel và về máy tính (phần cứng cuối cùng), nơi nó sẽ được thực thi.

Các loại nhân có sẵn

Các loại nhân có sẵn

đến biên dịch một hạt nhân, điều đầu tiên chúng ta cần biết là chọn Kernel nào. Để làm điều này, chúng ta phải đi đến trang web chính thức của các hạt nhânvà chọn một trong số các danh mục hiện có. Đó là những điều sau đây:

  • Dòng phát triển chính (Dòng chính): Danh mục này bao gồm các Nhân đang trong giai đoạn phát triển, do đó, chúng chứa các tính năng và chức năng mới phải được thử nghiệm trước khi có thể đưa vào phiên bản ổn định. Chúng được Linus Torvalds bảo trì và phát hành trực tiếp, và được phát hành trung bình 2-3 tháng một lần.
  • Ổn định: Loại này bao gồm những Nhân sau khi vượt qua các bài kiểm tra của quá trình phát triển lâu dài, trở nên ổn định, vì vậy chúng chỉ có thể điều chỉnh thông qua một nhà bảo trì chính thức được chỉ định. Ngoài ra, họ chỉ có một vài bản sửa lỗi cho đến khi có Mainline tiếp theo.
  • Dài hạn: Danh mục này bao gồm những Nhân sau khi vượt qua các bài kiểm tra của quá trình phát triển lâu dài, trở nên ổn định, nhưng được hỗ trợ bởi các bản sửa lỗi và bảo trì trong một thời gian cực kỳ dài (nhiều năm). Lý do mà các bản sửa lỗi quan trọng được áp dụng, điều này có thể trở nên rất thường xuyên.

Cách biên dịch Kernel trong GNU / Linux Debian Bullseye Distro?

Cách biên dịch Kernel trong GNU / Linux Debian Bullseye Distro?

Đã chọn một phiên bản hạt nhân cụ thể, trên trang web chính thức và đã biết (sao chép) đường dẫn tải xuống xuyên qua nút tarball giống nhau, nó chỉ còn lại để thực hiện quy trình sau đây, mà chúng tôi sẽ hiển thị để lấy làm ví dụ, Phiên bản hạt nhân Linux ổn định 6.0.8:

Bước 1

cd /usr/src
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.8.tar.xz
sudo unxz linux-6.0.8.tar.xz
sudo tar xvf linux-6.0.8.tar
sudo ln -s linux-6.0.8 linux
cd /usr/src/linux
sudo make clean && make mrproper
sudo cp /boot/config-`uname -r`* .config
make menuconfig

Chạy lệnh cuối cùng này sẽ bắt đầu "Menu cấu hình hạt nhân", nơi bạn có thể cấu hình (tùy chỉnh) các thông số sở thích hoặc nhu cầu của bạn. Ngoài ra, ở đây điều cần thiết là không được quên rằng nó là cần thiết chọn hoặc bỏ chọn tùy chọn nhân 64-bit, tùy thuộc vào những gì được mong muốn hoặc yêu cầu. Ngoài ra, sau khi thực hiện tất cả các thay đổi, bạn phải nhấn nút Lưu và sau đó là Nút thoát.

Menu cấu hình hạt nhân

Bước 2

Tại thời điểm này, có 2 con đường khả thi lấy:

Chỉ cài đặt hạt nhân
sudo make
sudo make modules_install
sudo make install
sudo update-grub; sudo update-grub2; sudo update-initramfs -u
sudo apt clean; sudo apt autoclean; sudo apt autoremove; sudo apt remove; sudo apt purge

Cài đặt nhân và tạo tệp .deb

Cài đặt nhân và tạo tệp .deb

Để thực hiện bước này, có liên quan đến việc cài đặt gói được gọi là gói hạt nhân. Do đó, quy trình như sau và bắt đầu như sau:

sudo wget -c http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_13.018+nmu1~bpo9+1_all.deb
sudo apt install ./kernel-package_13.018+nmu1~bpo9+1_all.deb
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb

Trong trường hợp, trong quá trình biên dịch, bạn nhận được một lỗi liên quan đến chứng chỉ hạt nhân, nó vẫn là một tùy chọn để có thể thực thi những điều sau lệnh để sửa nó tự động:

sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config

Vâng, mọi thứ đã kết thúc tốt đẹp, tất cả những gì còn lại là khởi động lại máy tính của chúng tôi và kiểm tra cách hệ điều hành của chúng tôi chạy với Kernel mới. Khi anh ta được hiển thị trước và sau, trong ảnh chụp màn hình sau:

Trước khi cài đặt nhân

Trước khi cài đặt

Sau khi cài đặt nhân

Sau khi cài đặt

Bài viết liên quan:
Fast Kernel Headers, một tập hợp các bản vá giúp tăng tốc độ biên dịch kernel lên 50-80%
Bài viết liên quan:
Kerla: một nhân mới được viết bằng Rust và tương thích với ABI của Linux

Roundup: Đăng biểu ngữ năm 2021

tóm lại

Tóm lại, chúng tôi hy vọng rằng hướng dẫn này sẽ rất hữu ích, cho cả Người dùng cao cấp như Các nhà phát triển của Distro hoặc Respins. thường yêu cầu "Biên dịch một hạt nhân" cụ thể trên Hệ điều hành GNU / Linux hiện được cài đặt hoặc hệ điều hành đang được tạo từ đầu, để kết hợp hiệu suất tốt hơn và tối ưu hóa trên phần cứng cụ thể. Hầu hết, với mục đích đạt được, tiêu thụ CPU và RAM thấp hơn.

Mặc dù, nếu có ai biết về bất kỳ một cách hữu ích khác để thực hiện quy trình đã nói hoặc Biết bất kỳ gợi ý, đề xuất hoặc sửa chữa với những gì được cung cấp ở đây, bạn có thể làm như vậy thông qua các nhận xét. Và có, bạn chỉ đơn giản là thích ấn phẩm này, đừng ngừng bình luận về nó và chia sẻ nó với những người khác. Ngoài ra, hãy nhớ ghé thăm của chúng tôi «trang chủ» để khám phá thêm tin tức, cũng như tham gia kênh chính thức của chúng tôi về Điện tín của DesdeLinux, Hướng Tây nhóm để biết thêm thông tin về chủ đề ngày hôm nay.


Để 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.