首頁 系統教程 Linux PC機編譯核心的設定方法與設定:設定編譯

PC機編譯核心的設定方法與設定:設定編譯

Mar 13, 2024 pm 02:52 PM
pc機 編譯內核

PC機編譯核心的設定方法與設定:設定編譯

Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNO

warranty;notevenforMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.

附註:arm的工具鏈,可以從這裡下載:回覆「ARM」即可查看。

二、設定編譯目標

在配置或編譯核心之前,首先要確定目標CPU構架,以及編譯時採用哪些工具鏈。這是最最基礎的訊息,首先要確定的。

假如你是為目前使用的PC機編譯內核,則無須設定。

否則的話嵌入式linux 培訓,就要明晰設定。

這兒以arm為例,來說明。

有兩種設定方式():

a)更改Makefile

開啟核心原始碼根目錄下的Makefile,變更以下兩個Makefile變數並儲存。

ARCH:=arm

CROSS_COMPILE:=arm-linux-

注意,這兒cross_compile的設置,是假設所使用的交叉工具鏈的gcc程式名稱為arm-linux-gcc。假如實際使用的gcc名稱是some-thing-else-gcc,則這兒照葫蘆畫瓢填some-thing-else-即可。反正,要省去名稱中最後的gcc那3個字母。

b)每次執行make指令時,都會透過命令列參數傳入此訊息。

這似乎是透過make工具的命令列參數指定變數的值。

比如

配置內核時,使用

makeARCH=armCROSS_COMPILE=arm-linux-menuconfig

編譯核心時使用

makeARCH=armCROSS_COMPILE=arm-linux-

注意,實際上,對於編譯PC機核心的情況,即使使用者沒有明晰設置,但並不是這兩項沒有配置。由於假如用戶沒有設定這兩項,核心原始碼頂樓Makefile(坐落源碼根目錄下)會透過以下方法產生這兩個變數的值。

SUBARCH:=$(shelluname-m|sed-es/i.86/i386/-es/sun4u/sparc64/

-es/arm.*/arm/-es/sa110/arm/

-es/s390x/s390/-es/parisc64/parisc/

-es/ppc.*/powerpc/-es/mips.*/mips/

-es/sh[234].*/sh/)

ARCH?=$(SUBARCH)

CROSS_COMPILE?=

經過前面的程式碼,ARCH弄成了PC編譯機的arch,即SUBARCH。為此,假如PC機上uname-m輸出的是ix86,則ARCH的值就成了i386。

而CROSS_COMPILE的值,倘若沒配置,則為空字串。這樣一來所使用的工具鏈程式的名稱,就不再有類似arm-linux-這樣的前綴,就等於是使用了PC機上的gcc。

最後再多說兩句,ARCH的數值還須再進一步做泛化。由於核心原始碼的arch目錄下,不存在i386這個目錄,也沒有sparc64這樣的目錄。

因而頂樓makefile中又構造了一個SRCARCH變量,透過如下程式碼,產生他的值。這樣一來,SRCARCH變量,才最終匹配到內核原始碼arch目錄中的某一個架構名稱。

SRCARCH:=$(ARCH)

ifeq($(ARCH),i386)

SRCARCH:=x86

endif

ifeq($(ARCH),x86_64)

SRCARCH:=x86

endif

ifeq($(ARCH),sparc64)

SRCARCH:=sparc

endif

ifeq($(ARCH),sh64)

SRCARCH:=sh

endif

三、配置核心

核心的功能這麼多,我們必須要什麼部份,每位部份編譯成哪些方式(編進核心還是編成模組),每位部份的工作參數怎樣,那些都是可以配置的。為此,在開始編譯之前,我們須要建立出一份配置清單,放在內核源碼根目錄下,命名為.config文件,之後按照此.config文件,編譯出我們須要的內核。

然而,核心的配置項目太多了,一個一個配linux設定環境變量,太麻煩了。並且,不同的CPU構架,所能配置的配置項目集合arm linux核心中arm中斷實作詳解,是不一樣的。諸如,某種CPU的某個功能特點要不要支援的配置項目arm linux核心中arm中斷實作詳解,就是與CPU構架有關的配置項目。所以,核心提供了一種簡單的配置方式。

以arm為例,具體做法如下。

a)依據我們的目標CPU架構,從核心原始碼arch/arm/configs目錄下,找一個與目標系統最接近的設定檔(例如s3c2410_defconfig),拷貝到核心原始碼根目錄下,命名為.config 。

注意,假若你是為目前PC機編譯內核,最好拷貝如下檔到內核原始碼根目錄下,做為初始設定檔。這個文件,是PC機目前運行的核心編譯時所使用的設定檔。

/lib/modules/`uname-r`/build/.config

這兒順便多說兩句,PC機核心的設定文件,選擇的功能真是多。不編不曉得,一編才曉得。 Linux發行方這樣做的目的,可能是想讓所發行的Linux才能滿足使用者各類的需求吧。

b)執行makemenuconfig對此組態做一些須要的更改,退出時選擇儲存,就將新的設定更新到.config檔中了。

以上是PC機編譯核心的設定方法與設定:設定編譯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Linux最好使用的是什麼? Linux最好使用的是什麼? Apr 03, 2025 am 12:11 AM

Linux最適合用作服務器管理、嵌入式系統和桌面環境。 1)在服務器管理中,Linux用於託管網站、數據庫和應用程序,提供穩定性和可靠性。 2)在嵌入式系統中,Linux因其靈活性和穩定性被廣泛應用於智能家居和汽車電子系統。 3)在桌面環境中,Linux提供了豐富的應用和高效的性能。

Linux的5個基本組件是什麼? Linux的5個基本組件是什麼? Apr 06, 2025 am 12:05 AM

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。

什麼是基本的Linux管理? 什麼是基本的Linux管理? Apr 02, 2025 pm 02:09 PM

Linux系統管理是通過配置、監控和維護來確保系統穩定、高效和安全。 1.掌握shell命令如top、systemctl。 2.使用apt或yum管理軟件包。 3.編寫自動化腳本提高效率。 4.調試常見錯誤如權限問題。 5.通過監控工具優化性能。

如何學習Linux基礎知識? 如何學習Linux基礎知識? Apr 10, 2025 am 09:32 AM

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux最有用的是什麼? Linux最有用的是什麼? Apr 09, 2025 am 12:02 AM

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。

什麼是Linux設備? 什麼是Linux設備? Apr 05, 2025 am 12:04 AM

Linux設備是運行Linux操作系統的硬件設備,包括服務器、個人電腦、智能手機和嵌入式系統。它們利用Linux的強大功能執行各種任務,如網站託管和大數據分析。

Linux的成本是多少? Linux的成本是多少? Apr 04, 2025 am 12:01 AM

linuxisfundallyformallyfore,體現了“ freeasinfreedom” WhoallowSuserStorun,研究,共享和ModifyTheSoftware.however,costmarisefromprofessionalsupport,CommercialDistriptions,CommercialDistriptions,proprietaryhardarardwaredrivers,and learlearningresrivers andlearningningningressources.despiteSpiteThesepiteTeThesepototenesepototen

Linux的缺點是什麼? Linux的缺點是什麼? Apr 08, 2025 am 12:01 AM

Linux的缺點包括用戶體驗、軟件兼容性、硬件支持和學習曲線。 1.用戶體驗不如Windows或macOS友好,依賴命令行界面。 2.軟件兼容性不如其他系統,缺乏許多商業軟件的原生版本。 3.硬件支持不如Windows全面,可能需要手動編譯驅動程序。 4.學習曲線較陡峭,掌握命令行操作需要時間和耐心。

See all articles