Rumah  >  Artikel  >  Tutorial sistem  >  Analisis mendalam tentang pokok sumber kernel: sinergi antara fail Kconfig dan Makefiles

Analisis mendalam tentang pokok sumber kernel: sinergi antara fail Kconfig dan Makefiles

王林
王林asal
2024-06-28 08:18:521047semak imbas

深入解析内核源码树:Kconfig 文件与 Makefile 的协同作用

Prinsip

Setiap direktori dalam pepohon sumber kernel juga mengandungi fail Kconfig, yang digunakan untuk menerangkan menu konfigurasi kernel yang berkaitan dengan kod sumber dalam direktori Fail Kconfig dalam setiap direktori membentuk pangkalan data konfigurasi kernel yang diedarkan.

Apabila mengkonfigurasi kernel melalui arahan makemenuconfig, baca menu dari fail Kconfig Analisis prinsip teknologi storan: Berdasarkan kod sumber kernel Linux 26 , konfigurasi selesai dan disimpan ke fail konfigurasi kernel bernama .config untuk Makefile untuk menyusun digunakan dalam kernel.

Fail Make di tingkat atas pepohon direktori kod sumber ialah pintu masuk ke keseluruhan pengurusan kod sumber kernel dan memainkan peranan penting dalam penyusunan kod sumber keseluruhan kernel. Apabila menyusun kernel dalam linux c, Makefile tingkat atas akan melintasi fail Makefile secara rekursif dalam semua subdirektori kod sumber kernel mengikut peraturan untuk melengkapkan penyusunan modul kernel dalam setiap subdirektori.

Konfigurasikan kernel

Pergi ke direktori di tingkat atas kod sumber kernel Linux dan masukkan arahan makemenuconfig Baidu Netdisk LINUX Anda boleh memasukkan antara muka utama konfigurasi kernel Linux berdasarkan Ncurses Jika anda tidak menentukan ARCH dalam Makefile, anda mesti menyatakannya dalam baris arahan:

make ARCH<span class="token operator">=</span>arm menuconfig

Direktori peringkat pertama

Hampir setiap item di bawah menu peringkat pertama mempunyai submenu peringkat rendah yang kompleks, dan pilihan konfigurasi masing-masing juga sangat rumit. Dalam pembangunan produk sebenar, tidak perlu memahami sepenuhnya setiap item konfigurasi kernel Secara amnya, anda hanya perlu memahami beberapa item yang berkaitan.

内核编写_存储技术原理分析:基于linux 26内核源代码_内核存储原理源基于代码分析

在这里插入图片描述

Direktori sekunder Generalsetup ialah antara muka menu tetapan umum kernel

在这里插入图片描述

SystemVIPC mewakili komunikasi antara proses sistem InterProcess

Komunikasi, yang digunakan oleh pemproses untuk menyegerakkan dan bertukar maklumat antara program

Enableeventpollsupport: Menyokong panggilan sistem pengundian ribut.

Enableloadablemodulesupport ialah konfigurasi modul kernel

Moduleunloading membolehkan memunggah modul yang sudah dimuatkan

Moduleversioningsupport membenarkan penggunaan modul daripada versi kernel lain (masalah mungkin berlaku)

Sourcechecksumforallmodules menentukur kod sumber untuk semua modul Jika anda tidak menyusun modul kernel sendiri, anda tidak memerlukan fungsi ini.

内核编写_内核存储原理源基于代码分析_存储技术原理分析:基于linux 26内核源代码

Dayakan sokongan peranti blok lapisan penghalang

Mereka yang menggunakan peranti cakera keras/USB/SCSI mesti memilih pilihan ini untuk membolehkan peranti blok dikeluarkan daripada kernel:

Sokongan untuk peranti sekat(2TB+)yang besar dan fail hanya diperlukan apabila menggunakan peranti sekat yang lebih kecil daripada 2TB

Sokongan biothrottling blocklayer boleh digunakan untuk mengehadkan kadar IO peranti

I/O penjadual IOSchedulersIO ialah kawalan lebar jalur input dan output, terutamanya untuk cakera keras, dan merupakan keperluan teras. Tiga penjadual IO disediakan di sini.

SystemType ialah jenis dan ciri pemproses

Sokongan berbilang pemprosesan simetriSokongan berbilang pemprosesan simetri, pilihnya jika anda mempunyai berbilang CPU atau sedang menggunakan CPU berbilang teras

Processorfamily (Pentium-Pro) series processor, sila pilih mengikut CPU sebenar yang digunakan, berikut adalah jenis processor

Genericx86support Pilihan ini menggunakan pengoptimuman yang lebih umum untuk CPU siri x86. Jika anda memilih i386, i586, dsb., kemudian pilih sokongan x86 universal ini,

Sokongan penjadualan berbilang teras mengoptimumkan strategi penjadualan untuk CPU berbilang teras sokongan mekanisme penjadualan, CPU empat teras harus dipilih

Busoptions ialah sokongan dan konfigurasi PCI, ISA dan bas lain KernelFeatures ialah menu konfigurasi ciri kernel

内核存储原理源基于代码分析_存储技术原理分析:基于linux 26内核源代码_内核编写

在这里插入图片描述

Pilihan permulaan bootoption, anda boleh menetapkan parameter permulaan lalai dan jenis parameter kernel

CPUPowerManagementCPU berkaitan pengurusan kuasa

Termasuk pengurangan kekerapan pemproses, sokongan mod tidur, dll.

Pilihan pengurusan kuasa Pengurusan kuasa berkaitan Konfigurasi rangkaian sokongan Rangkaian

Termasuk pilihan konfigurasi sokongan untuk Ethernet, CAN, inframerah, Bluetooth, wayarles dan rangkaian lain

Wayarles menggunakan sokongan kad rangkaian wayarles

RFswitchsubsystemsupportRF switching device

Kontrak rangkaian pilihan rangkaian dan konfigurasi parameter paket rangkaian (kontrak berkaitan TCP/IP mesti dibuka)

Pilihan rangkaian, anda boleh memasukkan antara muka konfigurasi pilihan rangkaian

在这里插入图片描述

Sistem yang menggunakan Linux akan menggunakan rangkaian, dan menggunakan rangkaian selalunya tidak dapat dipisahkan daripada TCP/TP, jadi disyorkan untuk memilih pilihan TCP/IP dalam konfigurasi Analisis prinsip teknologi storan: Berdasarkan kod sumber kernel Linux 26 , dan Pilih semua pilihan peringkat rendah. Pilihan tiga keadaan juga boleh dikonfigurasikan untuk memasangkan modul apabila diperlukan.

DriverDrivers pemacu peranti, antara muka konfigurasi juga sangat rumit, terdapat banyak item konfigurasi

在这里插入图片描述

Sistem fail ialah antara muka konfigurasi sistem fail kernel

内核存储原理源基于代码分析_内核编写_存储技术原理分析:基于linux 26内核源代码

在这里插入图片描述

Kernelhacking Kernel debugging berkaitan SecurityoptionsPilihan berkaitan Keselamatan

CryptographicAPI—>//Crypto API, pilihan ini akan dilaraskan secara manual mengikut pengoptimuman sebelumnya

Prinsip asas untuk menyesuaikan dan mengkonfigurasi kernel

Rujukan:

Proses khusus dan pemilihan pemangkasan kernel Linux

Perbincangan tentang konfigurasi kernel Linux terbenam, jahitan dan penyusunan

Konfigurasi kompilasi kernel Linux (bentuk grafik Menuconfig), langkah-langkah untuk mencipta sistem fail

Pemindahan kernel Linux dan pengeluaran sistem fail akar

Atas ialah kandungan terperinci Analisis mendalam tentang pokok sumber kernel: sinergi antara fail Kconfig dan Makefiles. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn