make config 編譯核心的主要區別

2021-07-03 20:35:59 字數 893 閱讀 2270

其實編譯核心和編譯普通軟體也沒多大區別, 只是核心編譯的引數非常之多.但是如何設定核心編譯引數?

編譯選項個數

核心的編譯選項的個數非常多, v2.6.38的核心中就有 12 000 個左右的設定選項(這是包含所有arch的配置選項).

核心編譯選項不僅多, 有些編譯選項之間還存在依賴關係, 所以手動設定編譯選項幾乎是不可能的.

值得慶幸的是, 只要知道自己需要設定的那些選項,就可以使用 make ***config 來進行設定, 它還會自動處理依賴關係.

配置編譯選項:

設定核心編譯選項是通過kconfig這個工具來完成的.

kconfig 的原始碼就是核心**中 script/kconfig 目錄下

各個編譯選項的選擇有3種方式:

=y :: 直接編譯到核心中

=m :: 以模組方式編譯到核心中

不設定 :: 不編譯

編譯方法(主要區別):

make menuconfig :: 原始碼根目錄下生成 .config (沒有會自動生成), .config中就是各個核心編譯選項的選擇狀況.

make defconfig :: 根據當前系統的架構預設 .config 生成核心原始碼目錄下的 .config (每個架構的配置檔案: ex. arch/x86/configs/x86_64_defconfig)

make oldconfig :: 將已有的 .config 放到原始碼根目錄下後執行, 目的是為了復用之前的核心編譯選項的配置.

make xconfig :: 圖形化配置, 需要qt3, 個人覺得沒有必要, 有 make menuconfig 就足夠了.

make localmodconfig :: 生成以正在使用的核心模組為物件的 .config

核心 核心編譯 proc sys

單核心體系設計 但充分借鑑了微核心設計體系的優點,為核心引入模組化機制。核心組成部分 kernel 核心核心,一般為bzimage,通常在 boot目錄下,名稱為vmlinuz version release kernel object 核心物件,一般放置於 lib modules version ...

核心編譯 模組編譯

目前是嵌入式 linux 的初學者感覺有所體會 1.從demo 學起 tiny 6410 上的開發,我的任務不斷是新增小模組。交叉編譯器,以及其它一系列 tool chains 可直使用產商提供的工具。避免過多細節的好處在於,你可以從整體處著手你從書本學到的理論知識。2.kernel 編譯其它很簡單...

Linux核心的編譯

linux的乙個重要的特點就是其源 的公開性,所有的核心源程式都可以在 usr src linux下找到,大部分應用軟體也都是遵循gpl而設計的,你都可以獲取相應的源程式 全世界任何乙個軟體工程師都可以將自己認為優秀的 加入到其中,由此引發的乙個明顯的好處就是linux修補漏洞的快速以及對最新軟體技...