Linux核心的配置與編譯 X86平台

2022-08-29 11:21:16 字數 2461 閱讀 4569

說明:只供學習交流

目的:

(1):配置、編譯x86平台下的linux-2.6.29核心

(2):在vmware下安裝編譯好的核心並啟動

工具:

gcc編譯器, linux-2.6.29核心

步驟:

make clean

刪除大多數的由編譯生成的檔案、但會保留核心的配置檔案.config。

make mrproper

刪除所有的編譯生成的檔案,還有核心配置檔案,再加上各種備份檔案。

make distclean

mrproper刪除的檔案,加上編輯備份檔案和一些補丁檔案。

(二)選擇參考配置檔案

使用正在執行的核心配置檔案作為參考配製檔案,該配置檔案在/boot目錄下,使用命令

cp /boot/config-2.6.18-53.el5 .config。

(三)配置核心

配置核心有如下命令:

make config:基於檔案模式的互動式配置(也就是一問一答)。

make oldconfig:使用已有的配置檔案(.config)但是會詢問新增的配置選項。

make xconfig:圖形化配置(需要安裝圖形化系統)。

make menuconfig是最為常用的核心配置方式,使用方法如下:

1、使用方向鍵在各選項間移動;

2、使用「enter」鍵進入下一層選單;每個選項上的高亮字母是鍵盤快捷方式,使用它可以快速地到達想要設定的選單項。

3、在括號中按「y」將這個專案編譯進核心中,按「m」編譯為模組,按「n」為不選擇(按空格鍵也可在編譯進核心、編譯為模組和不編譯三者間進行切換),按「h」將顯示這個選項的幫助資訊,按「esc」鍵將返回到上層選單。

核心配置通常在乙個已有的配置檔案基礎上,通過修改得到新的配置檔案linux核心提供了一系列可供參考的核心配置檔案,位於arch/$cpu/configs

注意:要執行make menuconfig的介面需要調整終端的視窗大小,至少為80*19。

(四)編譯核心

(1):make zimage

(2):make bzimage

區別:在x86平台,在zimage只能用於小於512kd的核心(注意是x86平台)

如需獲取詳細編譯資訊,可使用:

make zimage v=1 

make bzimage v=1

編譯好的核心位於arch//boot目錄下

(五)編譯核心模組

使用命令

make  modules
核心模組編譯的時間比較長,一般需要1~2小時的時間。這些模組源於使用命令make menuconfig啟動的選單型配置介面中選擇的項。

(六)安裝核心模組

使用命令:make  modules_install,完成安裝後,編譯好的核心模組會從核心源**目錄拷貝至/lib/modules/2.6.29目錄下。

(七)製作init ramdisk

使用cd跳動linux-2.6.29/,目錄的上層目錄,使用命令:mkinitrdinitrd-$version $version(mkinitrd initrd-2.6.29 2.6.29)將上一步中產生的模組目錄/lib/modules/2.6.29製作成initrd-2.6.29。

linux的眾多發行版之所以使用initrd主要是為了在核心啟動之後能夠判斷哪些硬體驅動需要載入,哪些不需要,檔案系統有沒有問題等,最終使得根分割槽能順利載入。在scsi和sata裝置上啟動,usb啟動盤,無盤伺服器等都需要initrd來做判斷,這樣可以提高linux核心的通用性。

(八)安裝核心

由於linux系統啟動時,會從/boot目錄下尋找核心檔案與init ramdisk,所以需要將核心和initrd拷貝至/boot目錄。使用命令:

cp initrd-2.6.29  /boot 

cp linux-2.6.29/arch/x86/boot/bzimage /boot/vmlinuz-2.6.29

(九)修改/etc/grub.conf或者/etc/lilo.conf

為了讓grub在啟動時能提供一項我們自己製作的linux核心的選項,需要修改grub的配置檔案/etc/grub.conf。(新增的**為title my linux(2.6.29)以下的)

(十):重啟系統

使用命令reboot,重新啟動系統,按住空格鍵不放,直到進入grub介面,選擇my linux(2.6.29)啟動。

Linux 核心配置與編譯

嵌入式系統的乙個很重要的特性就是可移植可裁剪配置。這篇博文主要簡單總結下在x86體系下配置編譯核心的過程。取得原始碼後的步驟就是配置核心。使用make menuconfig命令,配置成功後儲存會在核心源 目錄下生成乙個.config檔案。這個檔案是隱藏的,需要用ls a命令才可看到。配置選項比較多,...

linux核心配置與編譯

linux核心配置與編譯 1.清除臨時檔案 1.make clean 刪除產生的檔案,但儲存配置。2.make mrproper 刪除產生的檔案同時刪除配置 3.make distclean 刪除mrproper並且刪除補丁之類的。2 對確定的目標系統的軟硬體配置情況。比如cpu 網絡卡型號,所需支...

Linux核心配置與編譯

核心的配置和編譯大致涉及三類主要檔案 kconfig config makefile。它們之間的關係大致可用下圖描述 1.kconfig 詳細內容可參見kbuild kconfig language.txt 核心配置選項的原始檔。arch arch kconfig是主kconfig檔案,與具體體系結...