Kompilasi Kernel: Bagaimana melakukannya di Distro berbasis Debian?

Kompilasi Kernel: Bagaimana melakukannya di Distro berbasis Debian?

Kompilasi Kernel: Bagaimana melakukannya di Distro berbasis Debian?

Dalam kami entri sebelumnyapanggilan “Kernel Linux: Dasar Kernel” kami membahas beberapa dasar teori esensial tentang Kernel Sistem Operasi, biasanya; dan Kernel Linux, spesifik.

Dan seperti yang kami ungkapkan di dalamnya, dalam hal ini, kami akan menyelesaikan kata dasar teori esensial dengan orang lain konsep dan informasi penting, selain menunjukkan prosedur saat ini untuk mencapai "kompilasi Kernel Linux" dari awal, pada Distribusi Debian GNU/Linux 11 (Bullseye) atau berdasarkan itu.

Kernel Linux: Dasar-dasar Kernel

Kernel Linux: Dasar-dasar Kernel

Dan, sebelum Anda mulai membaca posting ini tentang "kompilasi kernel" Linux Secara umum, kami akan meninggalkan beberapa tautan ke posting terkait sebelumnya untuk dibaca nanti:

Kernel Linux: Semua tentang kernel Sistem Operasi gratis
Artikel terkait:
Kernel Linux: Dasar-dasar Kernel
kerentanan
Artikel terkait:
Sejauh bulan ini, beberapa kerentanan yang ditemukan di kernel Linux telah diungkapkan

Membangun Kernel: Membangun Tutorial

Membangun Kernel: Membangun Tutorial

Apa yang dimaksud dengan kompilasi program?

Pada dasarnya ini proses teknis (juga disebut pengemasan) terdiri dari pencapaian konversi kode sumber suatu program atau bagian dari perangkat lunak, dari sumbernya (bahasa pemrograman yang digunakan untuk menulis sendiri) ke produk yang dapat dibaca (bahasa pemrograman tingkat tinggi yang dapat diinterpretasikan) oleh komputer.

Artinya, mencapai ubah dari kode sumber Anda sampai menjadi program yang dapat dieksekusi dan fungsional, dengan menggunakan prosesor (perangkat lunak kompiler) untuk konversi bahasa pemrograman yang digunakan ke arah kode tipe biner dan assembler.

Dan ketika datang ke mengembangkan dan menyusun apapun paket, aplikasi dan program, dasar dan asli, seperti kernel pada Debian GNU / Linux, paket-paket berikut ini cocok dan diperlukan untuk mendapatkan yang baik basis dukungan pengembangan, dan ini adalah:

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
Optimalkan GNU/Linux Anda: Paket Debian untuk mengembangkan aplikasi
Artikel terkait:
Optimalkan GNU/Linux Anda: Paket Debian untuk mengembangkan aplikasi

Keuntungan dan kerugian mengkompilasi Kernel Linux dari awal

Ketika kami mengkompilasi dan mengonfigurasi kustom, dari awal, Kernel tertentu untuk komputer tertentu, kami dapat memperoleh keuntungan berikut:

  • Mencapai kinerja yang lebih baik dan konsumsi CPU yang lebih rendah.
  • Dapatkan pengoptimalan yang lebih baik dan konsumsi Memori RAM yang lebih rendah.
  • Meningkatkan kemampuan beradaptasi dan kompatibilitas sistem operasi.
  • Meningkatkan efisiensi dan produktivitas sistem operasi.

Sementara, sebaliknya, kami dapat menghasilkan Kekurangan berikut:

  • Kegagalan operasional dan ketersediaan sumber daya dan layanan yang diinginkan pada komputer yang digunakan, karena konfigurasi yang buruk dan masalah yang disebabkan selama kompilasi.
  • Pekerjaan yang konstan, panjang, dan membosankan pada awalnya untuk menghasilkannya, lalu ke nanti, agar tetap diperbarui secara manual. Yang bisa berlangsung dari menit ke jam, tergantung pada perangkat keras yang digunakan.
  • Jam belajar dan ujian yang panjang, karena pengetahuan tingkat tinggi diperlukan baik tentang opsi konfigurasi yang tersedia di Kernel maupun tentang komputer (perangkat keras akhir), di mana ia akan dieksekusi.

Kategori kernel yang tersedia

Kategori kernel yang tersedia

untuk mengkompilasi kernel, hal pertama yang perlu kita ketahui adalah Kernel mana yang harus dipilih. Untuk melakukan ini, kita harus pergi ke situs web resmi dari kernel, dan pilih salah satu di antara kategori yang ada. Yang berikut ini:

  • Jalur utama pengembangan (Jalur utama): Kategori ini termasuk Kernel dalam tahap pengembangan, oleh karena itu, Kernel mengandung fitur dan fungsi baru yang harus diuji sebelum dapat dimasukkan ke dalam versi stabil. Ini dipelihara dan dirilis langsung oleh Linus Torvalds, dan dirilis rata-rata setiap 2-3 bulan.
  • Stabil: Kategori ini mencakup Kernel yang, setelah melewati pengujian proses pengembangan yang lama, menjadi stabil, sehingga hanya dapat diperbaiki melalui pengelola resmi yang ditunjuk. Juga, mereka hanya memiliki beberapa rilis perbaikan bug hingga Mainline berikutnya tersedia.
  • Jangka panjang: Kategori ini mencakup Kernel yang, setelah melewati pengujian proses pengembangan yang lama, menjadi stabil, tetapi didukung oleh perbaikan bug dan pemeliharaan untuk waktu yang sangat lama (bertahun-tahun). Alasannya, perbaikan bug penting diterapkan, yang bisa menjadi sangat sering.

Bagaimana cara mengkompilasi Kernel di Distro GNU/Linux Debian Bullseye?

Bagaimana cara mengkompilasi Kernel di Distro GNU/Linux Debian Bullseye?

Setelah memilih satu versi kernel tertentu, di situs resmi, dan sudah mengetahui (menyalin) Anda jalur unduhan melalui tombol tarbal sama, hanya tinggal melakukan prosedur berikut, yang akan kami tunjukkan sebagai contoh, Kernel Linux stabil versi 6.0.8:

Tahap 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

Menjalankan perintah terakhir ini memulai "Menu konfigurasi kernel", di mana Anda bisa konfigurasikan (sesuaikan) parameter preferensi atau kebutuhan Anda. Selain itu, di sini penting untuk tidak lupa bahwa itu perlu centang atau hapus centang opsi kernel 64-bit, tergantung apa yang diinginkan atau dibutuhkan. Dan juga, setelah melakukan semua perubahan, kamu harus tekan tombol Simpan dan kemudian Tombol keluar.

Menu konfigurasi kernel

Tahap 2

Pada titik ini ada 2 kemungkinan jalur untuk mengambil:

Hanya instalasi kernel
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

Instalasi kernel dan pembuatan file .deb

Instalasi kernel dan pembuatan file .deb

Untuk menjalankan langkah ini, adalah relevan untuk menginstal paket yang disebut paket kernel. Oleh karena itu, prosedurnya adalah sebagai berikut dan dimulai sebagai berikut:

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

Dalam hal, selama proses kompilasi, Anda mendapatkan kesalahan terkait dengan sertifikat kernel, tetap sebagai opsi untuk dapat menjalankan yang berikut: perintah perintah untuk memperbaikinya secara otomatis:

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

Ya, semuanya telah berakhir dengan baik, yang tersisa hanyalah me-restart komputer kita dan menguji bagaimana sistem operasi kita berjalan dengan Kernel baru. Seperti yang ditunjukkan sebelum dan sesudah, dalam tangkapan layar berikut:

Sebelum Instalasi Kernel

Sebelum pemasangan

Setelah Instalasi Kernel

Setelah instalasi

Artikel terkait:
Fast Kernel Header, satu set tambalan yang mempercepat kompilasi kernel hingga 50-80%
Artikel terkait:
Kerla: kernel baru yang ditulis dalam Rust dan kompatibel dengan Linux ABI

Roundup: Posting spanduk 2021

ringkasan

Ringkasnya, kami berharap tutorial ini akan sangat bermanfaat, baik untuk Pengguna tingkat lanjut sebagai Pengembang Distro atau Respins. yang biasanya membutuhkan "kompilasi kernel" khusus pada Sistem Operasi GNU/Linux yang saat ini diinstal atau yang dibuat dari awal, untuk memasukkan a kinerja dan pengoptimalan yang lebih baik pada perangkat keras tertentu. Sebagian besar, dengan tujuan untuk mencapai, a konsumsi CPU dan RAM yang lebih rendah.

Meskipun, jika ada yang mengetahuinya cara lain yang berguna untuk melaksanakan prosedur tersebut atau tahu apa saja saran, rekomendasi atau koreksi untuk apa yang telah disumbangkan di sini, Anda dipersilakan untuk melakukannya melalui komentar. Dan ya, Anda baru saja menyukai postingan ini, jangan berhenti mengomentarinya dan membagikannya kepada orang lain. Juga, ingatlah untuk mengunjungi kami «beranda» untuk menjelajahi lebih banyak berita, serta bergabung dengan saluran resmi kami Telegram dari DesdeLinux, Barat kelompok untuk informasi lebih lanjut tentang topik hari ini.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.