Linux 核心 Makefile 中的“Oldconfig”目標
摘要
Linux 核心是 Linux 作業系統核心元件,負責管理系統資源併為使用者空間應用程式提供各種服務。從原始碼構建 Linux 核心是開發人員和系統管理員的常見任務,而 Makefile 是用於此目的的主要工具。Makefile 提供的目標之一是“oldconfig”目標,它用於根據當前系統配置更新核心配置檔案。在本教程中,我們將解釋“oldconfig”目標以及如何使用它。
注意 - Linux 命令區分大小寫。
核心 Makefile
Makefile 是一個檔案,指定了如何從其原始碼構建核心。它包含一組規則,定義了構建過程中涉及的各種步驟,包括編譯原始檔、連結目標檔案以及生成最終核心映像。Makefile 還包含一組目標,使用者可以呼叫這些目標來執行特定任務,例如構建核心或清理中間檔案。
核心構建系統,通常稱為配置系統,是一個不可或缺的工具。即使是驅動程式和其他底層軟體開發人員也很少使用這種方法,因此並非每個人都會使用它。您正在閱讀本文的事實表明您有興趣瞭解有關核心構建系統的更多資訊。
核心 Makefile 有五個基本部分 -
Makefile:在原始碼根目錄中,這是主要的 make 檔案。
arch/$(ARCH) Makefile:這是頂層 Makefile,它作為 Makefile 的補充。
.config:核心配置檔案位於此處。
Scripts/Makefile.*:對於所有 kbuild Makefile,這些規則都是定義的。
Kbuild Makefile:Kbuild Makefile 大約有 500 個,並且它們並不容易閱讀。
什麼是“oldconfig”目標?
“oldconfig”目標是 Linux 核心構建系統提供的 Makefile 目標。它用於根據當前系統配置更新核心配置檔案。核心配置檔案包含各種配置選項,這些選項決定了核心的行為。這些選項包括硬體支援、檔案系統支援、網路支援和其他核心功能。
從原始碼構建核心時,需要配置核心以匹配其執行的系統。“oldconfig”目標用於更新現有的核心配置檔案以匹配當前系統配置。當升級核心或在已配置的系統上構建新核心時,這非常有用。
如何使用“oldconfig”目標?
要使用“oldconfig”目標,您必須首先擁有核心配置檔案。如果您沒有配置檔案,可以透過執行“make defconfig”命令來建立一個。這將根據您構建核心的系統的體系結構建立一個預設配置檔案。為此,請執行以下命令:
$ make defconfig
擁有配置檔案後,可以使用“oldconfig”目標來更新它。為此,請在核心原始碼的根目錄中執行以下命令 -
$ make oldconfig
執行“make oldconfig”時,該命令會讀取當前配置檔案(通常位於 /usr/src/linux/.config)並提示您自上次核心版本以來新增的任何新配置選項。您可以選擇接受預設值或根據需要修改選項,即配置過程將更新現有配置檔案以匹配當前系統配置。在配置過程中,系統可能會提示您選擇新選項或確認現有選項。您可以按 Enter 鍵使用預設選項,或輸入相應的數字選擇其他選項。
配置過程完成後,更新後的配置檔案將作為“.config”儲存在核心原始碼的根目錄中。
結論
Linux 核心 Makefile 中的“oldconfig”目標是更新現有核心配置檔案以匹配當前系統配置的有用工具。它可以用於在升級核心或在已配置的系統上構建新核心時更新配置檔案。透過使用“oldconfig”目標,您可以節省時間並確保核心已正確配置以在其上執行的系統。