linux2 6 9核心如何編譯

2021-08-29 07:00:15 字數 2618 閱讀 2437

redhat9

2.6.9核心

第一步我們要進入原始碼目錄 cd /src/linux-2.6.0-test6

make mrproper

這 時我們就已經在原始碼目錄下了,make mrproper是用來清除一些老的配置檔案、過時的已編譯檔案,打補丁遺留的備份檔案等工作的。

在2.6中還新增了幾個以除錯為目的的make選項,它們是allyesconfig、allnoconfig、allmodconfig分別表示將 所有選項載入為y、將所有選項載入為n、將所有選項載入為m。它們是為核心開發人員與測試人員準備的,與我們的關係不大。 下面我們開始 配置核心,這裡使用的工具為menuconfig。

首先在命令列模式下執行: make menuconfig 在閃過幾行字之後就出現了如圖1 的介面

在 介面的上部是配置工作的使用說明,

使用箭頭鍵在 各選項間移動,使用enter進入下一層選單,每個選項上的高亮字母是鍵盤快捷方式,

使用它可以快速的到達 你想設定的選單項上。

在括號中

按y將這個專案編譯進核心中,

按m編譯為模組,

按n為不選擇。

按?將列印這個選項的幫助資訊,

按esc將返回到上層選單。

gui工具的基本概 念也與之類似我們就不詳細討論了。

在後面我將主要使用menuconfig來設定各個選項,選項的次序以它為準,其它工具中各選項也基 本與之對 應。

第一項 code maturity level options (**成熟度選項) 按enter進入後選項如下

第二項 general setup 其中的選項如下

[*] support for paging of anonymous  memory 這個選項將使你的核心支援虛擬記憶體,也就是讓你的計算機好象擁有比實際記憶體更多 多的記憶體空間用來執行很大的程式。預設是選擇 的。

[*] system v ipc 為程序提供通訊機制,這將使系統中各程序間有交換資訊與保持同步的能力。有些程式只有在選y的情況下才能執行, 所以不用考慮,這裡一定要選。

[ ] bsd process accounting 這裡選擇y將會讓核心為使用者層的程序建立乙個帳目(程序通過乙個特殊的系統 呼叫來通知核心),當程式退出時核心會將程序的相關資訊記錄到帳目檔案中,主要包括程序的建立時間、 建立者,記憶體占用等資訊。如果你 需要就y吧:)

[*] sysctl support 這將提供乙個介面讓你可以動態的更改一些核心引數與變數,而不需要重新啟動系統。開啟這個選項將會 增加核心的體積至少8kb。如果你的核心僅用製作安裝與恢復系統系統盤那麼可以不選,以減少對記憶體的占用。

[ ] kernel .config support  這將會把核心的配置資訊與相關的文件說明編譯進核心中,以後可以使用一些工具來提取它用來重新構建核心,一般不用選它。

[ ] remove  kernel features (for embedded systems) ---> 這個選項將會把一些特性從核心中移除,以減少核心體積。對於桌面使用者來講,這可不是一 個好主意,所以不要選它。至於其中的內容我會在以後的補遺中介紹。

第三項 loadable module support (可載入模組選項) 其選項如下:

[*] enable loadable module support 這 個選項可以讓你的核心支援模組,模組是什麼呢?模組是一小段**,編譯後可在系統核心執行時 動態的加入核心,從而為核心增加一些特性或是對某種硬體進行支 持。一般一些不常用到的驅動或特性可以編譯為模組以減少核心的體積。在 執行時可以使用modprobe命令來載入它到核心中去(在不需要時還可以移除 它)。 一些特性是否編譯為模組的原則是,不常使用的,特別是在 系統啟動時不需要的驅動可以將其編譯為模組,如果是一些在系統啟動時就要用到的驅動比如說檔案系統,系統匯流排的支援就不要編為模組了 ,否在無法啟動系統。(當然還有一些變通的方法,我以後會提到)

[ ] module unloading 這個選項可以讓你解除安裝不再使用的模組,如果不選 的話你將不能解除安裝任何模組(有些模組一旦載入就不能解除安裝,不管是否選擇了這個選項)。不選擇這個選項會讓你的核心體積減小一點

[ ]  module versioning support (experimental) 這個選項將讓你可以使用其它版本核心中編譯的模組,不過並不可靠,所以一般我們不選擇它

[*] automatic kernel module loading 一 般情況下,如果我們的核心在某些任務中要使用一些被編譯為模組的驅動或特性時,我們要先使用 modprobe命令來載入它,核心才能使用。不過,如果你選 擇了這個選項,在核心需要一些模組時它可以自動呼叫modprobe命令來載入需要的模 塊,這是個很棒的特性,當然要選y嘍:)

第四項 processor type and features subarchitecture type (pc-compatible) 這是乙個比較新的 特性,主要的目的是使linux可以支援多種pc標準,一般我們使用的pc機是遵循所謂ibm相容結構(pc/at)。這個選項可以讓你選擇一些其它架構 。我們一般選擇pc-compatible就可以了。 processor family (pentium-4/celeron(p4-based)/xeon) 這個不用我講了吧,你是什麼cpu就選什 麼吧:)

第五項 power management options (acpi, apm)(高階電源管理)

壞男孩 2007-04-26 12:50

如何編譯核心Linux

我裝的是 linux 2.4.20 這個連線進行 c 配置核心前的準備工作 配置核心前的準備工作 cd usr include rm rf asm linux scsi asm generic 或改名儲存 ln s usr src linux include asm i386 asm ln s us...

如何編譯 Linux 核心

曾經有一段時間,公升級 linux 核心讓很多使用者打心裡有所畏懼。在那個時候,公升級核心包含了很多步驟,也需要很多時間。現在,核心的安裝可以輕易地通過像 apt 這樣的包管理器來處理。通過新增特定的倉庫,你能很輕易地安裝實驗版本的或者指定版本的核心 比如針對音訊產品的實時核心 考慮一下,既然公升級...

如何編譯 Linux 核心

曾經有一段時間,公升級 linux 核心讓很多使用者打心裡有所畏懼。在那個時候,公升級核心包含了很多步驟,也需要很多時間。現在,核心的安裝可以輕易地通過像apt這樣的包管理器來處理。通過新增特定的倉庫,你能很輕易地安裝實驗版本的或者指定版本的核心 比如針對音訊產品的實時核心 考慮一下,既然公升級核心...